diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..16f558e --- /dev/null +++ b/.gitignore @@ -0,0 +1,30 @@ +*.class + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.ear + +# exclude jar for gradle wrapper +!gradle/wrapper/*.jar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +# build files +**/target +target +.gradle +build + +# Directory-based project +.idea/ + +# File-based project format +*.iws + +# IntelliJ +out/ diff --git a/.openapi-generator-ignore b/.openapi-generator-ignore new file mode 100644 index 0000000..7484ee5 --- /dev/null +++ b/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/.openapi-generator/COMMIT b/.openapi-generator/COMMIT new file mode 100644 index 0000000..02b7b70 --- /dev/null +++ b/.openapi-generator/COMMIT @@ -0,0 +1,2 @@ +Requested Commit: v4.3.1 +Actual Commit: 003165c2c254ded7817760cc1d6f97af730d9d4d diff --git a/.openapi-generator/VERSION b/.openapi-generator/VERSION new file mode 100644 index 0000000..ecedc98 --- /dev/null +++ b/.openapi-generator/VERSION @@ -0,0 +1 @@ +4.3.1 \ No newline at end of file diff --git a/.openapi-generator/swagger.json.sha256 b/.openapi-generator/swagger.json.sha256 new file mode 100644 index 0000000..41021e0 --- /dev/null +++ b/.openapi-generator/swagger.json.sha256 @@ -0,0 +1 @@ +4c886e13c0ba312423ed3c6214e9975d85617b27618b565c0fee2346fb24fed2 \ No newline at end of file diff --git a/README.md b/README.md index 630e87b..9b08b02 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,430 @@ -# dev-workspace-java-client -DevWorkspace OpenAPI Java client +# devfile-java-client + +Kubernetes +- API version: + - Build date: 2022-06-01T13:45:07.900Z[Etc/UTC] + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + +*Automatically generated by the [OpenAPI Generator](https://openapi-generator.tech)* + + +## Requirements + +Building the API client library requires: +1. Java 1.8+ +2. Maven/Gradle + +## Installation + +To install the API client library to your local Maven repository, simply execute: + +```shell +mvn clean install +``` + +To deploy it to a remote Maven repository instead, configure the settings of the repository and execute: + +```shell +mvn clean deploy +``` + +Refer to the [OSSRH Guide](http://central.sonatype.org/pages/ossrh-guide.html) for more information. + +### Maven users + +Add this dependency to your project's POM: + +```xml + + io.github.che-incubator + devfile-java-client + 1.0-SNAPSHOT + compile + +``` + +### Gradle users + +Add this dependency to your project's build file: + +```groovy +compile "io.github.che-incubator:devfile-java-client:1.0-SNAPSHOT" +``` + +### Others + +At first generate the JAR by executing: + +```shell +mvn clean package +``` + +Then manually install the following JARs: + +* `target/devfile-java-client-1.0-SNAPSHOT.jar` +* `target/lib/*.jar` + +## Getting Started + +Please follow the [installation](#installation) instruction and execute the following Java code: + +```java + +``` + +## Documentation for API Endpoints + +All URIs are relative to *http://localhost* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- + + +## Documentation for Models + + - [V1alpha2DevWorkspace](docs/V1alpha2DevWorkspace.md) + - [V1alpha2DevWorkspaceMetadata](docs/V1alpha2DevWorkspaceMetadata.md) + - [V1alpha2DevWorkspaceMetadataManagedFields](docs/V1alpha2DevWorkspaceMetadataManagedFields.md) + - [V1alpha2DevWorkspaceMetadataOwnerReferences](docs/V1alpha2DevWorkspaceMetadataOwnerReferences.md) + - [V1alpha2DevWorkspaceSpec](docs/V1alpha2DevWorkspaceSpec.md) + - [V1alpha2DevWorkspaceSpecTemplate](docs/V1alpha2DevWorkspaceSpecTemplate.md) + - [V1alpha2DevWorkspaceSpecTemplateCommands](docs/V1alpha2DevWorkspaceSpecTemplateCommands.md) + - [V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply](docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply.md) + - [V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup](docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup.md) + - [V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite](docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite.md) + - [V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup](docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup.md) + - [V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom](docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom.md) + - [V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup](docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup.md) + - [V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec](docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec.md) + - [V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv](docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv.md) + - [V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup](docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup.md) + - [V1alpha2DevWorkspaceSpecTemplateComponents](docs/V1alpha2DevWorkspaceSpecTemplateComponents.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes.md) + - [V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume](docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume.md) + - [V1alpha2DevWorkspaceSpecTemplateEvents](docs/V1alpha2DevWorkspaceSpecTemplateEvents.md) + - [V1alpha2DevWorkspaceSpecTemplateParent](docs/V1alpha2DevWorkspaceSpecTemplateParent.md) + - [V1alpha2DevWorkspaceSpecTemplateParentCommands](docs/V1alpha2DevWorkspaceSpecTemplateParentCommands.md) + - [V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply](docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply.md) + - [V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup](docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup.md) + - [V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite](docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite.md) + - [V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup](docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup.md) + - [V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec](docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec.md) + - [V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv](docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv.md) + - [V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup](docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponents](docs/V1alpha2DevWorkspaceSpecTemplateParentComponents.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes.md) + - [V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume](docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume.md) + - [V1alpha2DevWorkspaceSpecTemplateParentKubernetes](docs/V1alpha2DevWorkspaceSpecTemplateParentKubernetes.md) + - [V1alpha2DevWorkspaceSpecTemplateParentProjects](docs/V1alpha2DevWorkspaceSpecTemplateParentProjects.md) + - [V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit](docs/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit.md) + - [V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom](docs/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom.md) + - [V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip](docs/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip.md) + - [V1alpha2DevWorkspaceSpecTemplateParentStarterProjects](docs/V1alpha2DevWorkspaceSpecTemplateParentStarterProjects.md) + - [V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit](docs/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit.md) + - [V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom](docs/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom.md) + - [V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip](docs/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip.md) + - [V1alpha2DevWorkspaceSpecTemplateProjects](docs/V1alpha2DevWorkspaceSpecTemplateProjects.md) + - [V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom](docs/V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom.md) + - [V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit](docs/V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit.md) + - [V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom](docs/V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom.md) + - [V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip](docs/V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip.md) + - [V1alpha2DevWorkspaceSpecTemplateStarterProjects](docs/V1alpha2DevWorkspaceSpecTemplateStarterProjects.md) + - [V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom](docs/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom.md) + - [V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit](docs/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit.md) + - [V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom](docs/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom.md) + - [V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip](docs/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip.md) + - [V1alpha2DevWorkspaceStatus](docs/V1alpha2DevWorkspaceStatus.md) + - [V1alpha2DevWorkspaceStatusConditions](docs/V1alpha2DevWorkspaceStatusConditions.md) + - [V1alpha2DevWorkspaceTemplate](docs/V1alpha2DevWorkspaceTemplate.md) + - [V1alpha2DevWorkspaceTemplateMetadata](docs/V1alpha2DevWorkspaceTemplateMetadata.md) + - [V1alpha2DevWorkspaceTemplateMetadataManagedFields](docs/V1alpha2DevWorkspaceTemplateMetadataManagedFields.md) + - [V1alpha2DevWorkspaceTemplateMetadataOwnerReferences](docs/V1alpha2DevWorkspaceTemplateMetadataOwnerReferences.md) + - [V1alpha2DevWorkspaceTemplateSpec](docs/V1alpha2DevWorkspaceTemplateSpec.md) + - [V1alpha2DevWorkspaceTemplateSpecCommands](docs/V1alpha2DevWorkspaceTemplateSpecCommands.md) + - [V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply](docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply.md) + - [V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup](docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup.md) + - [V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite](docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite.md) + - [V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup](docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup.md) + - [V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom](docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom.md) + - [V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup](docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup.md) + - [V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec](docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec.md) + - [V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv](docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv.md) + - [V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup](docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup.md) + - [V1alpha2DevWorkspaceTemplateSpecComponents](docs/V1alpha2DevWorkspaceTemplateSpecComponents.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes.md) + - [V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume](docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume.md) + - [V1alpha2DevWorkspaceTemplateSpecEvents](docs/V1alpha2DevWorkspaceTemplateSpecEvents.md) + - [V1alpha2DevWorkspaceTemplateSpecParent](docs/V1alpha2DevWorkspaceTemplateSpecParent.md) + - [V1alpha2DevWorkspaceTemplateSpecParentCommands](docs/V1alpha2DevWorkspaceTemplateSpecParentCommands.md) + - [V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply](docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply.md) + - [V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup](docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup.md) + - [V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite](docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite.md) + - [V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup](docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup.md) + - [V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec](docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec.md) + - [V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv](docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv.md) + - [V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup](docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponents](docs/V1alpha2DevWorkspaceTemplateSpecParentComponents.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes.md) + - [V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume](docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume.md) + - [V1alpha2DevWorkspaceTemplateSpecParentKubernetes](docs/V1alpha2DevWorkspaceTemplateSpecParentKubernetes.md) + - [V1alpha2DevWorkspaceTemplateSpecParentProjects](docs/V1alpha2DevWorkspaceTemplateSpecParentProjects.md) + - [V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit](docs/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit.md) + - [V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom](docs/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom.md) + - [V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip](docs/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip.md) + - [V1alpha2DevWorkspaceTemplateSpecParentStarterProjects](docs/V1alpha2DevWorkspaceTemplateSpecParentStarterProjects.md) + - [V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit](docs/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit.md) + - [V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom](docs/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom.md) + - [V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip](docs/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip.md) + - [V1alpha2DevWorkspaceTemplateSpecProjects](docs/V1alpha2DevWorkspaceTemplateSpecProjects.md) + - [V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom](docs/V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom.md) + - [V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit](docs/V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit.md) + - [V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom](docs/V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom.md) + - [V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip](docs/V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip.md) + - [V1alpha2DevWorkspaceTemplateSpecStarterProjects](docs/V1alpha2DevWorkspaceTemplateSpecStarterProjects.md) + - [V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom](docs/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom.md) + - [V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit](docs/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit.md) + - [V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom](docs/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom.md) + - [V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip](docs/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip.md) + - [V220Devfile](docs/V220Devfile.md) + - [V220DevfileCommands](docs/V220DevfileCommands.md) + - [V220DevfileCommandsItemsApply](docs/V220DevfileCommandsItemsApply.md) + - [V220DevfileCommandsItemsApplyGroup](docs/V220DevfileCommandsItemsApplyGroup.md) + - [V220DevfileCommandsItemsComposite](docs/V220DevfileCommandsItemsComposite.md) + - [V220DevfileCommandsItemsCompositeGroup](docs/V220DevfileCommandsItemsCompositeGroup.md) + - [V220DevfileCommandsItemsExec](docs/V220DevfileCommandsItemsExec.md) + - [V220DevfileCommandsItemsExecEnv](docs/V220DevfileCommandsItemsExecEnv.md) + - [V220DevfileCommandsItemsExecGroup](docs/V220DevfileCommandsItemsExecGroup.md) + - [V220DevfileComponents](docs/V220DevfileComponents.md) + - [V220DevfileComponentsItemsContainer](docs/V220DevfileComponentsItemsContainer.md) + - [V220DevfileComponentsItemsContainerAnnotation](docs/V220DevfileComponentsItemsContainerAnnotation.md) + - [V220DevfileComponentsItemsContainerEndpoints](docs/V220DevfileComponentsItemsContainerEndpoints.md) + - [V220DevfileComponentsItemsContainerEnv](docs/V220DevfileComponentsItemsContainerEnv.md) + - [V220DevfileComponentsItemsContainerVolumeMounts](docs/V220DevfileComponentsItemsContainerVolumeMounts.md) + - [V220DevfileComponentsItemsImage](docs/V220DevfileComponentsItemsImage.md) + - [V220DevfileComponentsItemsImageDockerfile](docs/V220DevfileComponentsItemsImageDockerfile.md) + - [V220DevfileComponentsItemsImageDockerfileDevfileRegistry](docs/V220DevfileComponentsItemsImageDockerfileDevfileRegistry.md) + - [V220DevfileComponentsItemsImageDockerfileGit](docs/V220DevfileComponentsItemsImageDockerfileGit.md) + - [V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom](docs/V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom.md) + - [V220DevfileComponentsItemsKubernetes](docs/V220DevfileComponentsItemsKubernetes.md) + - [V220DevfileComponentsItemsKubernetesEndpoints](docs/V220DevfileComponentsItemsKubernetesEndpoints.md) + - [V220DevfileComponentsItemsOpenshift](docs/V220DevfileComponentsItemsOpenshift.md) + - [V220DevfileComponentsItemsOpenshiftEndpoints](docs/V220DevfileComponentsItemsOpenshiftEndpoints.md) + - [V220DevfileComponentsItemsVolume](docs/V220DevfileComponentsItemsVolume.md) + - [V220DevfileEvents](docs/V220DevfileEvents.md) + - [V220DevfileMetadata](docs/V220DevfileMetadata.md) + - [V220DevfileParent](docs/V220DevfileParent.md) + - [V220DevfileParentCommands](docs/V220DevfileParentCommands.md) + - [V220DevfileParentCommandsItemsApply](docs/V220DevfileParentCommandsItemsApply.md) + - [V220DevfileParentCommandsItemsApplyGroup](docs/V220DevfileParentCommandsItemsApplyGroup.md) + - [V220DevfileParentCommandsItemsComposite](docs/V220DevfileParentCommandsItemsComposite.md) + - [V220DevfileParentCommandsItemsCompositeGroup](docs/V220DevfileParentCommandsItemsCompositeGroup.md) + - [V220DevfileParentCommandsItemsExec](docs/V220DevfileParentCommandsItemsExec.md) + - [V220DevfileParentCommandsItemsExecEnv](docs/V220DevfileParentCommandsItemsExecEnv.md) + - [V220DevfileParentCommandsItemsExecGroup](docs/V220DevfileParentCommandsItemsExecGroup.md) + - [V220DevfileParentComponents](docs/V220DevfileParentComponents.md) + - [V220DevfileParentComponentsItemsContainer](docs/V220DevfileParentComponentsItemsContainer.md) + - [V220DevfileParentComponentsItemsContainerAnnotation](docs/V220DevfileParentComponentsItemsContainerAnnotation.md) + - [V220DevfileParentComponentsItemsContainerEndpoints](docs/V220DevfileParentComponentsItemsContainerEndpoints.md) + - [V220DevfileParentComponentsItemsContainerEnv](docs/V220DevfileParentComponentsItemsContainerEnv.md) + - [V220DevfileParentComponentsItemsContainerVolumeMounts](docs/V220DevfileParentComponentsItemsContainerVolumeMounts.md) + - [V220DevfileParentComponentsItemsImage](docs/V220DevfileParentComponentsItemsImage.md) + - [V220DevfileParentComponentsItemsImageDockerfile](docs/V220DevfileParentComponentsItemsImageDockerfile.md) + - [V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry](docs/V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry.md) + - [V220DevfileParentComponentsItemsImageDockerfileGit](docs/V220DevfileParentComponentsItemsImageDockerfileGit.md) + - [V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom](docs/V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom.md) + - [V220DevfileParentComponentsItemsKubernetes](docs/V220DevfileParentComponentsItemsKubernetes.md) + - [V220DevfileParentComponentsItemsKubernetesEndpoints](docs/V220DevfileParentComponentsItemsKubernetesEndpoints.md) + - [V220DevfileParentComponentsItemsOpenshift](docs/V220DevfileParentComponentsItemsOpenshift.md) + - [V220DevfileParentComponentsItemsOpenshiftEndpoints](docs/V220DevfileParentComponentsItemsOpenshiftEndpoints.md) + - [V220DevfileParentComponentsItemsVolume](docs/V220DevfileParentComponentsItemsVolume.md) + - [V220DevfileParentKubernetes](docs/V220DevfileParentKubernetes.md) + - [V220DevfileParentProjects](docs/V220DevfileParentProjects.md) + - [V220DevfileParentProjectsItemsGit](docs/V220DevfileParentProjectsItemsGit.md) + - [V220DevfileParentProjectsItemsGitCheckoutFrom](docs/V220DevfileParentProjectsItemsGitCheckoutFrom.md) + - [V220DevfileParentProjectsItemsZip](docs/V220DevfileParentProjectsItemsZip.md) + - [V220DevfileParentStarterProjects](docs/V220DevfileParentStarterProjects.md) + - [V220DevfileParentStarterProjectsItemsGit](docs/V220DevfileParentStarterProjectsItemsGit.md) + - [V220DevfileParentStarterProjectsItemsGitCheckoutFrom](docs/V220DevfileParentStarterProjectsItemsGitCheckoutFrom.md) + - [V220DevfileParentStarterProjectsItemsZip](docs/V220DevfileParentStarterProjectsItemsZip.md) + - [V220DevfileProjects](docs/V220DevfileProjects.md) + - [V220DevfileProjectsItemsGit](docs/V220DevfileProjectsItemsGit.md) + - [V220DevfileProjectsItemsGitCheckoutFrom](docs/V220DevfileProjectsItemsGitCheckoutFrom.md) + - [V220DevfileProjectsItemsZip](docs/V220DevfileProjectsItemsZip.md) + - [V220DevfileStarterProjects](docs/V220DevfileStarterProjects.md) + - [V220DevfileStarterProjectsItemsGit](docs/V220DevfileStarterProjectsItemsGit.md) + - [V220DevfileStarterProjectsItemsGitCheckoutFrom](docs/V220DevfileStarterProjectsItemsGitCheckoutFrom.md) + - [V220DevfileStarterProjectsItemsZip](docs/V220DevfileStarterProjectsItemsZip.md) + + +## Documentation for Authorization + +All endpoints do not require authorization. +Authentication schemes defined for the API: + +## Recommendation + +It's recommended to create an instance of `ApiClient` per thread in a multithreaded environment to avoid any potential issues. + +## Author + + diff --git a/api/openapi.yaml b/api/openapi.yaml new file mode 100644 index 0000000..c08a4c8 --- /dev/null +++ b/api/openapi.yaml @@ -0,0 +1,8711 @@ +openapi: 3.0.1 +info: + title: Kubernetes + version: "" +servers: +- url: / +paths: {} +components: + schemas: + v2.2.0.Devfile: + description: Devfile describes the structure of a cloud-native devworkspace + and development environment. + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + commands: + description: Predefined, ready-to-use, devworkspace-related commands + items: + $ref: '#/components/schemas/v2.2.0.Devfile.commands' + type: array + components: + description: List of the devworkspace components, such as editor and plugins, + user-provided containers, or other types of components + items: + $ref: '#/components/schemas/v2.2.0.Devfile.components' + type: array + events: + $ref: '#/components/schemas/v2.2.0.Devfile.events' + metadata: + $ref: '#/components/schemas/v2.2.0.Devfile.metadata' + parent: + $ref: '#/components/schemas/v2.2.0.Devfile.parent' + projects: + description: Projects worked on in the devworkspace, containing names and + sources locations + items: + $ref: '#/components/schemas/v2.2.0.Devfile.projects' + type: array + schemaVersion: + description: Devfile schema version + pattern: ^([2-9])\.([0-9]+)\.([0-9]+)(\-[0-9a-z-]+(\.[0-9a-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ + type: string + starterProjects: + description: StarterProjects is a project that can be used as a starting + point when bootstrapping new projects + items: + $ref: '#/components/schemas/v2.2.0.Devfile.starterProjects' + type: array + variables: + additionalProperties: + type: string + description: |- + Map of key-value variables used for string replacement in the devfile. Values can be referenced via {{variable-key}} to replace the corresponding value in string fields in the devfile. Replacement cannot be used for + + - schemaVersion, metadata, parent source + + - element identifiers, e.g. command id, component name, endpoint name, project name + + - references to identifiers, e.g. in events, a command's component, container's volume mount name + + - string enums, e.g. command group kind, endpoint exposure + type: object + required: + - schemaVersion + title: Devfile schema - Version 2.2.0-alpha + type: object + v2.2.0.Devfile.events: + description: Bindings of commands to events. Each command is referred-to by + its name. + properties: + postStart: + description: IDs of commands that should be executed after the devworkspace + is completely started. In the case of Che-Theia, these commands should + be executed after all plugins and extensions have started, including project + cloning. This means that those commands are not triggered until the user + opens the IDE in his browser. + items: + type: string + type: array + postStop: + description: IDs of commands that should be executed after stopping the + devworkspace. + items: + type: string + type: array + preStart: + description: IDs of commands that should be executed before the devworkspace + start. Kubernetes-wise, these commands would typically be executed in + init containers of the devworkspace POD. + items: + type: string + type: array + preStop: + description: IDs of commands that should be executed before stopping the + devworkspace. + items: + type: string + type: array + type: object + v2.2.0.Devfile.metadata: + description: Optional metadata + properties: + architectures: + description: Optional list of processor architectures that the devfile supports, + empty list suggests that the devfile can be used on any architecture + items: + description: Architecture describes the architecture type + enum: + - amd64 + - arm64 + - ppc64le + - s390x + type: string + type: array + uniqueItems: true + attributes: + description: Map of implementation-dependant free-form YAML attributes. + Deprecated, use the top-level attributes field instead. + properties: {} + type: object + description: + description: Optional devfile description + type: string + displayName: + description: Optional devfile display name + type: string + globalMemoryLimit: + description: Optional devfile global memory limit + type: string + icon: + description: Optional devfile icon, can be a URI or a relative path in the + project + type: string + language: + description: Optional devfile language + type: string + name: + description: Optional devfile name + type: string + projectType: + description: Optional devfile project type + type: string + provider: + description: Optional devfile provider information + type: string + supportUrl: + description: Optional link to a page that provides support information + type: string + tags: + description: Optional devfile tags + items: + type: string + type: array + version: + description: Optional semver-compatible version + pattern: ^([0-9]+)\.([0-9]+)\.([0-9]+)(\-[0-9a-z-]+(\.[0-9a-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ + type: string + website: + description: Optional devfile website + type: string + type: object + v2.2.0.Devfile.parent: + description: Parent devworkspace template + properties: + attributes: + description: Overrides of attributes encapsulated in a parent devfile. Overriding + is done according to K8S strategic merge patch standard rules. + properties: {} + type: object + commands: + description: Overrides of commands encapsulated in a parent devfile or a + plugin. Overriding is done according to K8S strategic merge patch standard + rules. + items: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.commands' + type: array + components: + description: Overrides of components encapsulated in a parent devfile or + a plugin. Overriding is done according to K8S strategic merge patch standard + rules. + items: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.components' + type: array + id: + description: Id in a registry that contains a Devfile yaml file + type: string + kubernetes: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.kubernetes' + projects: + description: Overrides of projects encapsulated in a parent devfile. Overriding + is done according to K8S strategic merge patch standard rules. + items: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.projects' + type: array + registryUrl: + description: Registry URL to pull the parent devfile from when using id + in the parent reference. To ensure the parent devfile gets resolved consistently + in different environments, it is recommended to always specify the `registryUrl` + when `id` is used. + type: string + starterProjects: + description: Overrides of starterProjects encapsulated in a parent devfile. + Overriding is done according to K8S strategic merge patch standard rules. + items: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.starterProjects' + type: array + uri: + description: URI Reference of a parent devfile YAML file. It can be a full + URL or a relative URI with the current devfile as the base URI. + type: string + variables: + additionalProperties: + type: string + description: Overrides of variables encapsulated in a parent devfile. Overriding + is done according to K8S strategic merge patch standard rules. + type: object + version: + description: Specific stack/sample version to pull the parent devfile from, + when using id in the parent reference. To specify `version`, `id` must + be defined and used as the import reference source. `version` can be either + a specific stack version, or `latest`. If no `version` specified, default + version will be used. + pattern: ^(latest)|(([1-9])\.([0-9]+)\.([0-9]+)(\-[0-9a-z-]+(\.[0-9a-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?)$ + type: string + type: object + v2.2.0.Devfile.starterProjects.items.git: + description: Project's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v2.2.0.Devfile.starterProjects.items.git.checkoutFrom' + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + required: + - remotes + type: object + v2.2.0.Devfile.starterProjects.items.zip: + description: Project's Zip source + properties: + location: + description: Zip project's source location address. Should be file path + of the archive, e.g. file://$FILE_PATH + type: string + type: object + v2.2.0.Devfile.starterProjects: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + description: + description: Description of a starter project + type: string + git: + $ref: '#/components/schemas/v2.2.0.Devfile.starterProjects.items.git' + name: + description: Project name + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + subDir: + description: Sub-directory from a starter project to be used as root for + starter project. + type: string + zip: + $ref: '#/components/schemas/v2.2.0.Devfile.starterProjects.items.zip' + required: + - name + type: object + v2.2.0.Devfile.starterProjects.items.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v2.2.0.Devfile.projects.items.git: + description: Project's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v2.2.0.Devfile.projects.items.git.checkoutFrom' + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + required: + - remotes + type: object + v2.2.0.Devfile.projects.items.zip: + description: Project's Zip source + properties: + location: + description: Zip project's source location address. Should be file path + of the archive, e.g. file://$FILE_PATH + type: string + type: object + v2.2.0.Devfile.projects: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + clonePath: + description: Path relative to the root of the projects to which this project + should be cloned into. This is a unix-style relative path (i.e. uses forward + slashes). The path is invalid if it is absolute or tries to escape the + project root through the usage of '..'. If not specified, defaults to + the project name. + type: string + git: + $ref: '#/components/schemas/v2.2.0.Devfile.projects.items.git' + name: + description: Project name + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + zip: + $ref: '#/components/schemas/v2.2.0.Devfile.projects.items.zip' + required: + - name + type: object + v2.2.0.Devfile.projects.items.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v2.2.0.Devfile.parent.commands: + properties: + apply: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.commands.items.apply' + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + composite: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.commands.items.composite' + exec: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.commands.items.exec' + id: + description: Mandatory identifier that allows referencing this command in + composite commands, from a parent, or in events. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - id + type: object + v2.2.0.Devfile.parent.components: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + container: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.components.items.container' + image: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.components.items.image' + kubernetes: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.components.items.kubernetes' + name: + description: Mandatory name that allows referencing the component from other + elements (such as commands) or from an external devfile that may reference + this component through a parent or a plugin. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + openshift: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.components.items.openshift' + volume: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.components.items.volume' + required: + - name + type: object + v2.2.0.Devfile.parent.kubernetes: + description: Reference to a Kubernetes CRD of type DevWorkspaceTemplate + properties: + name: + type: string + namespace: + type: string + required: + - name + type: object + v2.2.0.Devfile.parent.projects: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + clonePath: + description: Path relative to the root of the projects to which this project + should be cloned into. This is a unix-style relative path (i.e. uses forward + slashes). The path is invalid if it is absolute or tries to escape the + project root through the usage of '..'. If not specified, defaults to + the project name. + type: string + git: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.projects.items.git' + name: + description: Project name + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + zip: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.projects.items.zip' + required: + - name + type: object + v2.2.0.Devfile.parent.starterProjects: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + description: + description: Description of a starter project + type: string + git: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.starterProjects.items.git' + name: + description: Project name + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + subDir: + description: Sub-directory from a starter project to be used as root for + starter project. + type: string + zip: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.starterProjects.items.zip' + required: + - name + type: object + v2.2.0.Devfile.parent.starterProjects.items.git: + description: Project's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.starterProjects.items.git.checkoutFrom' + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + type: object + v2.2.0.Devfile.parent.starterProjects.items.zip: + description: Project's Zip source + properties: + location: + description: Zip project's source location address. Should be file path + of the archive, e.g. file://$FILE_PATH + type: string + type: object + v2.2.0.Devfile.parent.starterProjects.items.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v2.2.0.Devfile.parent.projects.items.git: + description: Project's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.projects.items.git.checkoutFrom' + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + type: object + v2.2.0.Devfile.parent.projects.items.zip: + description: Project's Zip source + properties: + location: + description: Zip project's source location address. Should be file path + of the archive, e.g. file://$FILE_PATH + type: string + type: object + v2.2.0.Devfile.parent.projects.items.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v2.2.0.Devfile.parent.components.items.container: + description: Allows adding and configuring devworkspace-related containers + properties: + annotation: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.components.items.container.annotation' + args: + description: |- + The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. + + Defaults to an empty array, meaning use whatever is defined in the image. + items: + type: string + type: array + command: + description: |- + The command to run in the dockerimage component instead of the default one provided in the image. + + Defaults to an empty array, meaning use whatever is defined in the image. + items: + type: string + type: array + cpuLimit: + type: string + cpuRequest: + type: string + dedicatedPod: + description: |- + Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.components.items.container.endpoints' + type: array + env: + description: |- + Environment variables used in this container. + + The following variables are reserved and cannot be overridden via env: + + - `$PROJECTS_ROOT` + + - `$PROJECT_SOURCE` + items: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.components.items.container.env' + type: array + image: + type: string + memoryLimit: + type: string + memoryRequest: + type: string + mountSources: + description: |- + Toggles whether or not the project source code should be mounted in the component. + + Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. + type: boolean + sourceMapping: + description: Optional specification of the path in the container where project + sources should be transferred/mounted when `mountSources` is `true`. When + omitted, the default value of /projects is used. + type: string + volumeMounts: + description: List of volumes mounts that should be mounted is this container. + items: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.components.items.container.volumeMounts' + type: array + type: object + v2.2.0.Devfile.parent.components.items.image: + description: Allows specifying the definition of an image for outer loop builds + properties: + autoBuild: + description: |- + Defines if the image should be built during startup. + + Default value is `false` + type: boolean + dockerfile: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.components.items.image.dockerfile' + imageName: + description: Name of the image for the resulting outerloop build + type: string + type: object + v2.2.0.Devfile.parent.components.items.kubernetes: + description: Allows importing into the devworkspace the Kubernetes resources + defined in a given manifest. For example this allows reusing the Kubernetes + definitions used to deploy some runtime components in production. + properties: + deployByDefault: + description: |- + Defines if the component should be deployed during startup. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.components.items.kubernetes.endpoints' + type: array + inlined: + description: Inlined manifest + type: string + uri: + description: Location in a file fetched from a uri. + type: string + type: object + v2.2.0.Devfile.parent.components.items.openshift: + description: Allows importing into the devworkspace the OpenShift resources + defined in a given manifest. For example this allows reusing the OpenShift + definitions used to deploy some runtime components in production. + properties: + deployByDefault: + description: |- + Defines if the component should be deployed during startup. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.components.items.openshift.endpoints' + type: array + inlined: + description: Inlined manifest + type: string + uri: + description: Location in a file fetched from a uri. + type: string + type: object + v2.2.0.Devfile.parent.components.items.volume: + description: Allows specifying the definition of a volume shared by several + other components + properties: + ephemeral: + description: Ephemeral volumes are not stored persistently across restarts. + Defaults to false + type: boolean + size: + description: Size of the volume + type: string + type: object + v2.2.0.Devfile.parent.components.items.openshift.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 15 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v2.2.0.Devfile.parent.components.items.kubernetes.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 15 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v2.2.0.Devfile.parent.components.items.image.dockerfile: + description: Allows specifying dockerfile type build + properties: + args: + description: The arguments to supply to the dockerfile build. + items: + type: string + type: array + buildContext: + description: Path of source directory to establish build context. Defaults + to ${PROJECT_SOURCE} in the container + type: string + devfileRegistry: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.components.items.image.dockerfile.devfileRegistry' + git: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.components.items.image.dockerfile.git' + rootRequired: + description: |- + Specify if a privileged builder pod is required. + + Default value is `false` + type: boolean + uri: + description: URI Reference of a Dockerfile. It can be a full URL or a relative + URI from the current devfile as the base URI. + type: string + type: object + v2.2.0.Devfile.parent.components.items.image.dockerfile.devfileRegistry: + description: Dockerfile's Devfile Registry source + properties: + id: + description: Id in a devfile registry that contains a Dockerfile. The src + in the OCI registry required for the Dockerfile build will be downloaded + for building the image. + type: string + registryUrl: + description: Devfile Registry URL to pull the Dockerfile from when using + the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets + resolved consistently in different environments, it is recommended to + always specify the `devfileRegistryUrl` when `Id` is used. + type: string + type: object + v2.2.0.Devfile.parent.components.items.image.dockerfile.git: + description: Dockerfile's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.components.items.image.dockerfile.git.checkoutFrom' + fileLocation: + description: Location of the Dockerfile in the Git repository when using + git as Dockerfile src. Defaults to Dockerfile. + type: string + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + type: object + v2.2.0.Devfile.parent.components.items.image.dockerfile.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v2.2.0.Devfile.parent.components.items.container.annotation: + description: Annotations that should be added to specific resources for this + container + properties: + deployment: + additionalProperties: + type: string + description: Annotations to be added to deployment + type: object + service: + additionalProperties: + type: string + description: Annotations to be added to service + type: object + type: object + v2.2.0.Devfile.parent.components.items.container.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 15 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v2.2.0.Devfile.parent.components.items.container.env: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + v2.2.0.Devfile.parent.components.items.container.volumeMounts: + description: Volume that should be mounted to a component container + properties: + name: + description: The volume mount name is the name of an existing `Volume` component. + If several containers mount the same volume name then they will reuse + the same volume and will be able to access to the same files. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: The path in the component container where the volume should + be mounted. If not path is mentioned, default path is the is `/`. + type: string + required: + - name + type: object + v2.2.0.Devfile.parent.commands.items.apply: + description: |- + Command that consists in applying a given component definition, typically bound to a devworkspace event. + + For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. + + When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. + properties: + component: + description: Describes component that will be applied + type: string + group: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.commands.items.apply.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + type: object + v2.2.0.Devfile.parent.commands.items.composite: + description: Composite command that allows executing several sub-commands either + sequentially or concurrently + properties: + commands: + description: The commands that comprise this composite command + items: + type: string + type: array + group: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.commands.items.composite.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + parallel: + description: Indicates if the sub-commands should be executed concurrently + type: boolean + type: object + v2.2.0.Devfile.parent.commands.items.exec: + description: CLI Command executed in an existing component container + properties: + commandLine: + description: |- + The actual command-line string + + Special variables that can be used: + + - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. + + - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one. + type: string + component: + description: Describes component to which given action relates + type: string + env: + description: Optional list of environment variables that have to be set + before running the command + items: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.commands.items.exec.env' + type: array + group: + $ref: '#/components/schemas/v2.2.0.Devfile.parent.commands.items.exec.group' + hotReloadCapable: + description: |- + Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. + + Default value is `false` + type: boolean + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + workingDir: + description: |- + Working directory where the command should be executed + + Special variables that can be used: + + - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. + + - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one. + type: string + type: object + v2.2.0.Devfile.parent.commands.items.exec.env: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + v2.2.0.Devfile.parent.commands.items.exec.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v2.2.0.Devfile.parent.commands.items.composite.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v2.2.0.Devfile.parent.commands.items.apply.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v2.2.0.Devfile.components.items.container: + description: Allows adding and configuring devworkspace-related containers + properties: + annotation: + $ref: '#/components/schemas/v2.2.0.Devfile.components.items.container.annotation' + args: + description: |- + The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. + + Defaults to an empty array, meaning use whatever is defined in the image. + items: + type: string + type: array + command: + description: |- + The command to run in the dockerimage component instead of the default one provided in the image. + + Defaults to an empty array, meaning use whatever is defined in the image. + items: + type: string + type: array + cpuLimit: + type: string + cpuRequest: + type: string + dedicatedPod: + description: |- + Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v2.2.0.Devfile.components.items.container.endpoints' + type: array + env: + description: |- + Environment variables used in this container. + + The following variables are reserved and cannot be overridden via env: + + - `$PROJECTS_ROOT` + + - `$PROJECT_SOURCE` + items: + $ref: '#/components/schemas/v2.2.0.Devfile.components.items.container.env' + type: array + image: + type: string + memoryLimit: + type: string + memoryRequest: + type: string + mountSources: + description: |- + Toggles whether or not the project source code should be mounted in the component. + + Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. + type: boolean + sourceMapping: + default: /projects + description: Optional specification of the path in the container where project + sources should be transferred/mounted when `mountSources` is `true`. When + omitted, the default value of /projects is used. + type: string + volumeMounts: + description: List of volumes mounts that should be mounted is this container. + items: + $ref: '#/components/schemas/v2.2.0.Devfile.components.items.container.volumeMounts' + type: array + required: + - image + type: object + v2.2.0.Devfile.components.items.image: + description: Allows specifying the definition of an image for outer loop builds + properties: + autoBuild: + description: |- + Defines if the image should be built during startup. + + Default value is `false` + type: boolean + dockerfile: + $ref: '#/components/schemas/v2.2.0.Devfile.components.items.image.dockerfile' + imageName: + description: Name of the image for the resulting outerloop build + type: string + required: + - imageName + type: object + v2.2.0.Devfile.components.items.kubernetes: + description: Allows importing into the devworkspace the Kubernetes resources + defined in a given manifest. For example this allows reusing the Kubernetes + definitions used to deploy some runtime components in production. + properties: + deployByDefault: + description: |- + Defines if the component should be deployed during startup. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v2.2.0.Devfile.components.items.kubernetes.endpoints' + type: array + inlined: + description: Inlined manifest + type: string + uri: + description: Location in a file fetched from a uri. + type: string + type: object + v2.2.0.Devfile.components.items.openshift: + description: Allows importing into the devworkspace the OpenShift resources + defined in a given manifest. For example this allows reusing the OpenShift + definitions used to deploy some runtime components in production. + properties: + deployByDefault: + description: |- + Defines if the component should be deployed during startup. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v2.2.0.Devfile.components.items.openshift.endpoints' + type: array + inlined: + description: Inlined manifest + type: string + uri: + description: Location in a file fetched from a uri. + type: string + type: object + v2.2.0.Devfile.components.items.volume: + description: Allows specifying the definition of a volume shared by several + other components + properties: + ephemeral: + description: Ephemeral volumes are not stored persistently across restarts. + Defaults to false + type: boolean + size: + description: Size of the volume + type: string + type: object + v2.2.0.Devfile.components: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + container: + $ref: '#/components/schemas/v2.2.0.Devfile.components.items.container' + image: + $ref: '#/components/schemas/v2.2.0.Devfile.components.items.image' + kubernetes: + $ref: '#/components/schemas/v2.2.0.Devfile.components.items.kubernetes' + name: + description: Mandatory name that allows referencing the component from other + elements (such as commands) or from an external devfile that may reference + this component through a parent or a plugin. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + openshift: + $ref: '#/components/schemas/v2.2.0.Devfile.components.items.openshift' + volume: + $ref: '#/components/schemas/v2.2.0.Devfile.components.items.volume' + required: + - name + type: object + v2.2.0.Devfile.components.items.openshift.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + default: public + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 15 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + default: http + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + - targetPort + type: object + v2.2.0.Devfile.components.items.kubernetes.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + default: public + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 15 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + default: http + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + - targetPort + type: object + v2.2.0.Devfile.components.items.image.dockerfile: + description: Allows specifying dockerfile type build + properties: + args: + description: The arguments to supply to the dockerfile build. + items: + type: string + type: array + buildContext: + description: Path of source directory to establish build context. Defaults + to ${PROJECT_SOURCE} in the container + type: string + devfileRegistry: + $ref: '#/components/schemas/v2.2.0.Devfile.components.items.image.dockerfile.devfileRegistry' + git: + $ref: '#/components/schemas/v2.2.0.Devfile.components.items.image.dockerfile.git' + rootRequired: + description: |- + Specify if a privileged builder pod is required. + + Default value is `false` + type: boolean + uri: + description: URI Reference of a Dockerfile. It can be a full URL or a relative + URI from the current devfile as the base URI. + type: string + type: object + v2.2.0.Devfile.components.items.image.dockerfile.devfileRegistry: + description: Dockerfile's Devfile Registry source + properties: + id: + description: Id in a devfile registry that contains a Dockerfile. The src + in the OCI registry required for the Dockerfile build will be downloaded + for building the image. + type: string + registryUrl: + description: Devfile Registry URL to pull the Dockerfile from when using + the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets + resolved consistently in different environments, it is recommended to + always specify the `devfileRegistryUrl` when `Id` is used. + type: string + required: + - id + type: object + v2.2.0.Devfile.components.items.image.dockerfile.git: + description: Dockerfile's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v2.2.0.Devfile.components.items.image.dockerfile.git.checkoutFrom' + fileLocation: + description: Location of the Dockerfile in the Git repository when using + git as Dockerfile src. Defaults to Dockerfile. + type: string + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + required: + - remotes + type: object + v2.2.0.Devfile.components.items.image.dockerfile.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v2.2.0.Devfile.components.items.container.annotation: + description: Annotations that should be added to specific resources for this + container + properties: + deployment: + additionalProperties: + type: string + description: Annotations to be added to deployment + type: object + service: + additionalProperties: + type: string + description: Annotations to be added to service + type: object + type: object + v2.2.0.Devfile.components.items.container.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + default: public + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 15 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + default: http + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + - targetPort + type: object + v2.2.0.Devfile.components.items.container.env: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + v2.2.0.Devfile.components.items.container.volumeMounts: + description: Volume that should be mounted to a component container + properties: + name: + description: The volume mount name is the name of an existing `Volume` component. + If several containers mount the same volume name then they will reuse + the same volume and will be able to access to the same files. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: The path in the component container where the volume should + be mounted. If not path is mentioned, default path is the is `/`. + type: string + required: + - name + type: object + v2.2.0.Devfile.commands.items.apply: + description: |- + Command that consists in applying a given component definition, typically bound to a devworkspace event. + + For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. + + When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. + properties: + component: + description: Describes component that will be applied + type: string + group: + $ref: '#/components/schemas/v2.2.0.Devfile.commands.items.apply.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + required: + - component + type: object + v2.2.0.Devfile.commands.items.composite: + description: Composite command that allows executing several sub-commands either + sequentially or concurrently + properties: + commands: + description: The commands that comprise this composite command + items: + type: string + type: array + group: + $ref: '#/components/schemas/v2.2.0.Devfile.commands.items.composite.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + parallel: + description: Indicates if the sub-commands should be executed concurrently + type: boolean + type: object + v2.2.0.Devfile.commands.items.exec: + description: CLI Command executed in an existing component container + properties: + commandLine: + description: |- + The actual command-line string + + Special variables that can be used: + + - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. + + - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one. + type: string + component: + description: Describes component to which given action relates + type: string + env: + description: Optional list of environment variables that have to be set + before running the command + items: + $ref: '#/components/schemas/v2.2.0.Devfile.commands.items.exec.env' + type: array + group: + $ref: '#/components/schemas/v2.2.0.Devfile.commands.items.exec.group' + hotReloadCapable: + description: |- + Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. + + Default value is `false` + type: boolean + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + workingDir: + description: |- + Working directory where the command should be executed + + Special variables that can be used: + + - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. + + - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one. + type: string + required: + - commandLine + - component + type: object + v2.2.0.Devfile.commands: + properties: + apply: + $ref: '#/components/schemas/v2.2.0.Devfile.commands.items.apply' + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + composite: + $ref: '#/components/schemas/v2.2.0.Devfile.commands.items.composite' + exec: + $ref: '#/components/schemas/v2.2.0.Devfile.commands.items.exec' + id: + description: Mandatory identifier that allows referencing this command in + composite commands, from a parent, or in events. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - id + type: object + v2.2.0.Devfile.commands.items.exec.env: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + v2.2.0.Devfile.commands.items.exec.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + required: + - kind + type: object + v2.2.0.Devfile.commands.items.composite.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + required: + - kind + type: object + v2.2.0.Devfile.commands.items.apply.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + required: + - kind + type: object + v1alpha2.DevWorkspace: + description: DevWorkspace is the Schema for the devworkspaces API + 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: '#/components/schemas/v1alpha2.DevWorkspace.metadata' + spec: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec' + status: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.status' + title: DevWorkspace schema - Version 2.2.0-alpha + type: object + v1alpha2.DevWorkspace.metadata: + description: ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + properties: + annotations: + additionalProperties: + type: string + description: 'Annotations is an unstructured key value map stored with a + resource that may be set by external tools to store and retrieve arbitrary + metadata. They are not queryable and should be preserved when modifying + objects. More info: http://kubernetes.io/docs/user-guide/annotations' + type: object + clusterName: + description: The name of the cluster which the object belongs to. This is + used to distinguish resources with same name and namespace in different + clusters. This field is not set anywhere right now and apiserver is going + to ignore it if set in create or update request. + type: string + creationTimestamp: + 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. + + Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + format: date-time + type: string + 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. + format: int64 + type: integer + 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. + + Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + format: date-time + 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. 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. + items: + type: string + type: array + 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. + + If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). + + Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency + type: string + generation: + description: A sequence number representing a specific generation of the + desired state. Populated by the system. Read-only. + format: int64 + type: integer + labels: + additionalProperties: + type: string + description: 'Map of string keys and values that can be used to organize + and categorize (scope and select) objects. May match selectors of replication + controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' + type: object + 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. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.metadata.managedFields' + type: array + 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 which each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. + + Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces + 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. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.metadata.ownerReferences' + type: array + 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. + + Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency + type: string + selfLink: + description: |- + SelfLink is a URL representing this object. Populated by the system. Read-only. + + DEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release. + 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. + + Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids + type: string + type: object + v1alpha2.DevWorkspace.spec: + description: DevWorkspaceSpec defines the desired state of DevWorkspace + properties: + routingClass: + type: string + started: + type: boolean + template: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template' + required: + - started + type: object + v1alpha2.DevWorkspace.status: + description: DevWorkspaceStatus defines the observed state of DevWorkspace + properties: + conditions: + description: Conditions represent the latest available observations of an + object's state + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.status.conditions' + type: array + devworkspaceId: + description: Id of the DevWorkspace + type: string + mainUrl: + description: Main URL for this DevWorkspace + type: string + message: + description: Message is a short user-readable message giving additional + information about an object's state + type: string + phase: + type: string + required: + - devworkspaceId + type: object + v1alpha2.DevWorkspace.status.conditions: + description: DevWorkspaceCondition contains details for the current condition + of this devworkspace. + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Human-readable message indicating details about last transition. + type: string + reason: + description: Unique, one-word, CamelCase reason for the condition's last + transition. + type: string + status: + description: Phase is the status of the condition. Can be True, False, Unknown. + type: string + type: + description: Type is the type of the condition. + type: string + required: + - status + - type + type: object + v1alpha2.DevWorkspace.spec.template: + description: Structure of the devworkspace. This is also the specification of + a devworkspace template. + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + commands: + description: Predefined, ready-to-use, devworkspace-related commands + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.commands' + type: array + components: + description: List of the devworkspace components, such as editor and plugins, + user-provided containers, or other types of components + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components' + type: array + events: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.events' + parent: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent' + projects: + description: Projects worked on in the devworkspace, containing names and + sources locations + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.projects' + type: array + starterProjects: + description: StarterProjects is a project that can be used as a starting + point when bootstrapping new projects + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.starterProjects' + type: array + variables: + additionalProperties: + type: string + description: |- + Map of key-value variables used for string replacement in the devfile. Values can be referenced via {{variable-key}} to replace the corresponding value in string fields in the devfile. Replacement cannot be used for + + - schemaVersion, metadata, parent source + + - element identifiers, e.g. command id, component name, endpoint name, project name + + - references to identifiers, e.g. in events, a command's component, container's volume mount name + + - string enums, e.g. command group kind, endpoint exposure + type: object + type: object + v1alpha2.DevWorkspace.spec.template.commands: + properties: + apply: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.commands.items.apply' + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + composite: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.commands.items.composite' + custom: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.commands.items.custom' + exec: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.commands.items.exec' + id: + description: Mandatory identifier that allows referencing this command in + composite commands, from a parent, or in events. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - id + type: object + v1alpha2.DevWorkspace.spec.template.components: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + container: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.container' + custom: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.custom' + image: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.image' + kubernetes: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.kubernetes' + name: + description: Mandatory name that allows referencing the component from other + elements (such as commands) or from an external devfile that may reference + this component through a parent or a plugin. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + openshift: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.openshift' + plugin: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin' + volume: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.volume' + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.events: + description: Bindings of commands to events. Each command is referred-to by + its name. + properties: + postStart: + description: IDs of commands that should be executed after the devworkspace + is completely started. In the case of Che-Theia, these commands should + be executed after all plugins and extensions have started, including project + cloning. This means that those commands are not triggered until the user + opens the IDE in his browser. + items: + type: string + type: array + postStop: + description: IDs of commands that should be executed after stopping the + devworkspace. + items: + type: string + type: array + preStart: + description: IDs of commands that should be executed before the devworkspace + start. Kubernetes-wise, these commands would typically be executed in + init containers of the devworkspace POD. + items: + type: string + type: array + preStop: + description: IDs of commands that should be executed before stopping the + devworkspace. + items: + type: string + type: array + type: object + v1alpha2.DevWorkspace.spec.template.parent: + description: Parent devworkspace template + properties: + attributes: + description: Overrides of attributes encapsulated in a parent devfile. Overriding + is done according to K8S strategic merge patch standard rules. + properties: {} + type: object + commands: + description: Overrides of commands encapsulated in a parent devfile or a + plugin. Overriding is done according to K8S strategic merge patch standard + rules. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.commands' + type: array + components: + description: Overrides of components encapsulated in a parent devfile or + a plugin. Overriding is done according to K8S strategic merge patch standard + rules. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components' + type: array + id: + description: Id in a registry that contains a Devfile yaml file + type: string + kubernetes: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.kubernetes' + projects: + description: Overrides of projects encapsulated in a parent devfile. Overriding + is done according to K8S strategic merge patch standard rules. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.projects' + type: array + registryUrl: + description: Registry URL to pull the parent devfile from when using id + in the parent reference. To ensure the parent devfile gets resolved consistently + in different environments, it is recommended to always specify the `registryUrl` + when `id` is used. + type: string + starterProjects: + description: Overrides of starterProjects encapsulated in a parent devfile. + Overriding is done according to K8S strategic merge patch standard rules. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.starterProjects' + type: array + uri: + description: URI Reference of a parent devfile YAML file. It can be a full + URL or a relative URI with the current devfile as the base URI. + type: string + variables: + additionalProperties: + type: string + description: Overrides of variables encapsulated in a parent devfile. Overriding + is done according to K8S strategic merge patch standard rules. + type: object + version: + description: Specific stack/sample version to pull the parent devfile from, + when using id in the parent reference. To specify `version`, `id` must + be defined and used as the import reference source. `version` can be either + a specific stack version, or `latest`. If no `version` specified, default + version will be used. + pattern: ^(latest)|(([1-9])\.([0-9]+)\.([0-9]+)(\-[0-9a-z-]+(\.[0-9a-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?)$ + type: string + type: object + v1alpha2.DevWorkspace.spec.template.projects: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + clonePath: + description: Path relative to the root of the projects to which this project + should be cloned into. This is a unix-style relative path (i.e. uses forward + slashes). The path is invalid if it is absolute or tries to escape the + project root through the usage of '..'. If not specified, defaults to + the project name. + type: string + custom: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.projects.items.custom' + git: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.projects.items.git' + name: + description: Project name + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + zip: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.projects.items.zip' + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.starterProjects: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + custom: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.starterProjects.items.custom' + description: + description: Description of a starter project + type: string + git: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.starterProjects.items.git' + name: + description: Project name + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + subDir: + description: Sub-directory from a starter project to be used as root for + starter project. + type: string + zip: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.starterProjects.items.zip' + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.starterProjects.items.custom: + description: Project's Custom source + properties: + embeddedResource: + properties: {} + type: object + projectSourceClass: + type: string + required: + - embeddedResource + - projectSourceClass + type: object + v1alpha2.DevWorkspace.spec.template.starterProjects.items.git: + description: Project's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.starterProjects.items.git.checkoutFrom' + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + required: + - remotes + type: object + v1alpha2.DevWorkspace.spec.template.starterProjects.items.zip: + description: Project's Zip source + properties: + location: + description: Zip project's source location address. Should be file path + of the archive, e.g. file://$FILE_PATH + type: string + type: object + v1alpha2.DevWorkspace.spec.template.starterProjects.items.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.projects.items.custom: + description: Project's Custom source + properties: + embeddedResource: + properties: {} + type: object + projectSourceClass: + type: string + required: + - embeddedResource + - projectSourceClass + type: object + v1alpha2.DevWorkspace.spec.template.projects.items.git: + description: Project's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.projects.items.git.checkoutFrom' + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + required: + - remotes + type: object + v1alpha2.DevWorkspace.spec.template.projects.items.zip: + description: Project's Zip source + properties: + location: + description: Zip project's source location address. Should be file path + of the archive, e.g. file://$FILE_PATH + type: string + type: object + v1alpha2.DevWorkspace.spec.template.projects.items.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.commands: + properties: + apply: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.commands.items.apply' + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + composite: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.commands.items.composite' + exec: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.commands.items.exec' + id: + description: Mandatory identifier that allows referencing this command in + composite commands, from a parent, or in events. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - id + type: object + v1alpha2.DevWorkspace.spec.template.parent.components: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + container: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.container' + image: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.image' + kubernetes: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.kubernetes' + name: + description: Mandatory name that allows referencing the component from other + elements (such as commands) or from an external devfile that may reference + this component through a parent or a plugin. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + openshift: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.openshift' + plugin: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin' + volume: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.volume' + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.parent.kubernetes: + description: Reference to a Kubernetes CRD of type DevWorkspaceTemplate + properties: + name: + type: string + namespace: + type: string + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.parent.projects: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + clonePath: + description: Path relative to the root of the projects to which this project + should be cloned into. This is a unix-style relative path (i.e. uses forward + slashes). The path is invalid if it is absolute or tries to escape the + project root through the usage of '..'. If not specified, defaults to + the project name. + type: string + git: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.projects.items.git' + name: + description: Project name + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + zip: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.projects.items.zip' + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.parent.starterProjects: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + description: + description: Description of a starter project + type: string + git: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.starterProjects.items.git' + name: + description: Project name + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + subDir: + description: Sub-directory from a starter project to be used as root for + starter project. + type: string + zip: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.starterProjects.items.zip' + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.parent.starterProjects.items.git: + description: Project's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.starterProjects.items.git.checkoutFrom' + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + type: object + v1alpha2.DevWorkspace.spec.template.parent.starterProjects.items.zip: + description: Project's Zip source + properties: + location: + description: Zip project's source location address. Should be file path + of the archive, e.g. file://$FILE_PATH + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.starterProjects.items.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.projects.items.git: + description: Project's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.projects.items.git.checkoutFrom' + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + type: object + v1alpha2.DevWorkspace.spec.template.parent.projects.items.zip: + description: Project's Zip source + properties: + location: + description: Zip project's source location address. Should be file path + of the archive, e.g. file://$FILE_PATH + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.projects.items.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.container: + description: Allows adding and configuring devworkspace-related containers + properties: + annotation: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.container.annotation' + args: + description: |- + The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. + + Defaults to an empty array, meaning use whatever is defined in the image. + items: + type: string + type: array + command: + description: |- + The command to run in the dockerimage component instead of the default one provided in the image. + + Defaults to an empty array, meaning use whatever is defined in the image. + items: + type: string + type: array + cpuLimit: + type: string + cpuRequest: + type: string + dedicatedPod: + description: |- + Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.container.endpoints' + type: array + env: + description: |- + Environment variables used in this container. + + The following variables are reserved and cannot be overridden via env: + + - `$PROJECTS_ROOT` + + - `$PROJECT_SOURCE` + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.container.env' + type: array + image: + type: string + memoryLimit: + type: string + memoryRequest: + type: string + mountSources: + description: |- + Toggles whether or not the project source code should be mounted in the component. + + Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. + type: boolean + sourceMapping: + description: Optional specification of the path in the container where project + sources should be transferred/mounted when `mountSources` is `true`. When + omitted, the default value of /projects is used. + type: string + volumeMounts: + description: List of volumes mounts that should be mounted is this container. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.container.volumeMounts' + type: array + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.image: + description: Allows specifying the definition of an image for outer loop builds + properties: + autoBuild: + description: |- + Defines if the image should be built during startup. + + Default value is `false` + type: boolean + dockerfile: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.image.dockerfile' + imageName: + description: Name of the image for the resulting outerloop build + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.kubernetes: + description: Allows importing into the devworkspace the Kubernetes resources + defined in a given manifest. For example this allows reusing the Kubernetes + definitions used to deploy some runtime components in production. + properties: + deployByDefault: + description: |- + Defines if the component should be deployed during startup. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.kubernetes.endpoints' + type: array + inlined: + description: Inlined manifest + type: string + uri: + description: Location in a file fetched from a uri. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.openshift: + description: Allows importing into the devworkspace the OpenShift resources + defined in a given manifest. For example this allows reusing the OpenShift + definitions used to deploy some runtime components in production. + properties: + deployByDefault: + description: |- + Defines if the component should be deployed during startup. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.openshift.endpoints' + type: array + inlined: + description: Inlined manifest + type: string + uri: + description: Location in a file fetched from a uri. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin: + description: |- + Allows importing a plugin. + + Plugins are mainly imported devfiles that contribute components, commands and events as a consistent single unit. They are defined in either YAML files following the devfile syntax, or as `DevWorkspaceTemplate` Kubernetes Custom Resources + properties: + commands: + description: Overrides of commands encapsulated in a parent devfile or a + plugin. Overriding is done according to K8S strategic merge patch standard + rules. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.commands' + type: array + components: + description: Overrides of components encapsulated in a parent devfile or + a plugin. Overriding is done according to K8S strategic merge patch standard + rules. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components' + type: array + id: + description: Id in a registry that contains a Devfile yaml file + type: string + kubernetes: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.kubernetes' + registryUrl: + description: Registry URL to pull the parent devfile from when using id + in the parent reference. To ensure the parent devfile gets resolved consistently + in different environments, it is recommended to always specify the `registryUrl` + when `id` is used. + type: string + uri: + description: URI Reference of a parent devfile YAML file. It can be a full + URL or a relative URI with the current devfile as the base URI. + type: string + version: + description: Specific stack/sample version to pull the parent devfile from, + when using id in the parent reference. To specify `version`, `id` must + be defined and used as the import reference source. `version` can be either + a specific stack version, or `latest`. If no `version` specified, default + version will be used. + pattern: ^(latest)|(([1-9])\.([0-9]+)\.([0-9]+)(\-[0-9a-z-]+(\.[0-9a-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?)$ + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.volume: + description: Allows specifying the definition of a volume shared by several + other components + properties: + ephemeral: + description: Ephemeral volumes are not stored persistently across restarts. + Defaults to false + type: boolean + size: + description: Size of the volume + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.commands: + properties: + apply: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.commands.items.apply' + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + composite: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.commands.items.composite' + exec: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.commands.items.exec' + id: + description: Mandatory identifier that allows referencing this command in + composite commands, from a parent, or in events. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - id + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + container: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.container' + image: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.image' + kubernetes: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.kubernetes' + name: + description: Mandatory name that allows referencing the component from other + elements (such as commands) or from an external devfile that may reference + this component through a parent or a plugin. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + openshift: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.openshift' + volume: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.volume' + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.kubernetes: + description: Reference to a Kubernetes CRD of type DevWorkspaceTemplate + properties: + name: + type: string + namespace: + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.container: + description: Allows adding and configuring devworkspace-related containers + properties: + annotation: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.container.annotation' + args: + description: |- + The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. + + Defaults to an empty array, meaning use whatever is defined in the image. + items: + type: string + type: array + command: + description: |- + The command to run in the dockerimage component instead of the default one provided in the image. + + Defaults to an empty array, meaning use whatever is defined in the image. + items: + type: string + type: array + cpuLimit: + type: string + cpuRequest: + type: string + dedicatedPod: + description: |- + Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.container.endpoints' + type: array + env: + description: |- + Environment variables used in this container. + + The following variables are reserved and cannot be overridden via env: + + - `$PROJECTS_ROOT` + + - `$PROJECT_SOURCE` + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.container.env' + type: array + image: + type: string + memoryLimit: + type: string + memoryRequest: + type: string + mountSources: + description: |- + Toggles whether or not the project source code should be mounted in the component. + + Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. + type: boolean + sourceMapping: + description: Optional specification of the path in the container where project + sources should be transferred/mounted when `mountSources` is `true`. When + omitted, the default value of /projects is used. + type: string + volumeMounts: + description: List of volumes mounts that should be mounted is this container. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.container.volumeMounts' + type: array + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.image: + description: Allows specifying the definition of an image for outer loop builds + properties: + autoBuild: + description: |- + Defines if the image should be built during startup. + + Default value is `false` + type: boolean + dockerfile: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.image.dockerfile' + imageName: + description: Name of the image for the resulting outerloop build + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.kubernetes: + description: Allows importing into the devworkspace the Kubernetes resources + defined in a given manifest. For example this allows reusing the Kubernetes + definitions used to deploy some runtime components in production. + properties: + deployByDefault: + description: |- + Defines if the component should be deployed during startup. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.kubernetes.endpoints' + type: array + inlined: + description: Inlined manifest + type: string + uri: + description: Location in a file fetched from a uri. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.openshift: + description: Allows importing into the devworkspace the OpenShift resources + defined in a given manifest. For example this allows reusing the OpenShift + definitions used to deploy some runtime components in production. + properties: + deployByDefault: + description: |- + Defines if the component should be deployed during startup. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.openshift.endpoints' + type: array + inlined: + description: Inlined manifest + type: string + uri: + description: Location in a file fetched from a uri. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.volume: + description: Allows specifying the definition of a volume shared by several + other components + properties: + ephemeral: + description: Ephemeral volumes are not stored persistently across restarts. + Defaults to false + type: boolean + size: + description: Size of the volume + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.openshift.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.kubernetes.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.image.dockerfile: + description: Allows specifying dockerfile type build + properties: + args: + description: The arguments to supply to the dockerfile build. + items: + type: string + type: array + buildContext: + description: Path of source directory to establish build context. Defaults + to ${PROJECT_SOURCE} in the container + type: string + devfileRegistry: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.image.dockerfile.devfileRegistry' + git: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.image.dockerfile.git' + rootRequired: + description: |- + Specify if a privileged builder pod is required. + + Default value is `false` + type: boolean + uri: + description: URI Reference of a Dockerfile. It can be a full URL or a relative + URI from the current devfile as the base URI. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.image.dockerfile.devfileRegistry: + description: Dockerfile's Devfile Registry source + properties: + id: + description: Id in a devfile registry that contains a Dockerfile. The src + in the OCI registry required for the Dockerfile build will be downloaded + for building the image. + type: string + registryUrl: + description: Devfile Registry URL to pull the Dockerfile from when using + the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets + resolved consistently in different environments, it is recommended to + always specify the `devfileRegistryUrl` when `Id` is used. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.image.dockerfile.git: + description: Dockerfile's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.image.dockerfile.git.checkoutFrom' + fileLocation: + description: Location of the Dockerfile in the Git repository when using + git as Dockerfile src. Defaults to Dockerfile. + type: string + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.image.dockerfile.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.container.annotation: + description: Annotations that should be added to specific resources for this + container + properties: + deployment: + additionalProperties: + type: string + description: Annotations to be added to deployment + type: object + service: + additionalProperties: + type: string + description: Annotations to be added to service + type: object + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.container.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.container.env: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.components.items.container.volumeMounts: + description: Volume that should be mounted to a component container + properties: + name: + description: The volume mount name is the name of an existing `Volume` component. + If several containers mount the same volume name then they will reuse + the same volume and will be able to access to the same files. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: The path in the component container where the volume should + be mounted. If not path is mentioned, default path is the is `/`. + type: string + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.commands.items.apply: + description: |- + Command that consists in applying a given component definition, typically bound to a devworkspace event. + + For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. + + When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. + properties: + component: + description: Describes component that will be applied + type: string + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.commands.items.apply.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.commands.items.composite: + description: Composite command that allows executing several sub-commands either + sequentially or concurrently + properties: + commands: + description: The commands that comprise this composite command + items: + type: string + type: array + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.commands.items.composite.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + parallel: + description: Indicates if the sub-commands should be executed concurrently + type: boolean + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.commands.items.exec: + description: CLI Command executed in an existing component container + properties: + commandLine: + description: |- + The actual command-line string + + Special variables that can be used: + + - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. + + - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one. + type: string + component: + description: Describes component to which given action relates + type: string + env: + description: Optional list of environment variables that have to be set + before running the command + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.commands.items.exec.env' + type: array + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.commands.items.exec.group' + hotReloadCapable: + description: |- + Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. + + Default value is `false` + type: boolean + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + workingDir: + description: |- + Working directory where the command should be executed + + Special variables that can be used: + + - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. + + - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.commands.items.exec.env: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.commands.items.exec.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.commands.items.composite.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.plugin.commands.items.apply.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.openshift.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.kubernetes.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.image.dockerfile: + description: Allows specifying dockerfile type build + properties: + args: + description: The arguments to supply to the dockerfile build. + items: + type: string + type: array + buildContext: + description: Path of source directory to establish build context. Defaults + to ${PROJECT_SOURCE} in the container + type: string + devfileRegistry: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.image.dockerfile.devfileRegistry' + git: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.image.dockerfile.git' + rootRequired: + description: |- + Specify if a privileged builder pod is required. + + Default value is `false` + type: boolean + uri: + description: URI Reference of a Dockerfile. It can be a full URL or a relative + URI from the current devfile as the base URI. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.image.dockerfile.devfileRegistry: + description: Dockerfile's Devfile Registry source + properties: + id: + description: Id in a devfile registry that contains a Dockerfile. The src + in the OCI registry required for the Dockerfile build will be downloaded + for building the image. + type: string + registryUrl: + description: Devfile Registry URL to pull the Dockerfile from when using + the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets + resolved consistently in different environments, it is recommended to + always specify the `devfileRegistryUrl` when `Id` is used. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.image.dockerfile.git: + description: Dockerfile's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.components.items.image.dockerfile.git.checkoutFrom' + fileLocation: + description: Location of the Dockerfile in the Git repository when using + git as Dockerfile src. Defaults to Dockerfile. + type: string + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.image.dockerfile.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.container.annotation: + description: Annotations that should be added to specific resources for this + container + properties: + deployment: + additionalProperties: + type: string + description: Annotations to be added to deployment + type: object + service: + additionalProperties: + type: string + description: Annotations to be added to service + type: object + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.container.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.container.env: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.parent.components.items.container.volumeMounts: + description: Volume that should be mounted to a component container + properties: + name: + description: The volume mount name is the name of an existing `Volume` component. + If several containers mount the same volume name then they will reuse + the same volume and will be able to access to the same files. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: The path in the component container where the volume should + be mounted. If not path is mentioned, default path is the is `/`. + type: string + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.parent.commands.items.apply: + description: |- + Command that consists in applying a given component definition, typically bound to a devworkspace event. + + For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. + + When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. + properties: + component: + description: Describes component that will be applied + type: string + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.commands.items.apply.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.commands.items.composite: + description: Composite command that allows executing several sub-commands either + sequentially or concurrently + properties: + commands: + description: The commands that comprise this composite command + items: + type: string + type: array + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.commands.items.composite.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + parallel: + description: Indicates if the sub-commands should be executed concurrently + type: boolean + type: object + v1alpha2.DevWorkspace.spec.template.parent.commands.items.exec: + description: CLI Command executed in an existing component container + properties: + commandLine: + description: |- + The actual command-line string + + Special variables that can be used: + + - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. + + - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one. + type: string + component: + description: Describes component to which given action relates + type: string + env: + description: Optional list of environment variables that have to be set + before running the command + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.commands.items.exec.env' + type: array + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.parent.commands.items.exec.group' + hotReloadCapable: + description: |- + Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. + + Default value is `false` + type: boolean + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + workingDir: + description: |- + Working directory where the command should be executed + + Special variables that can be used: + + - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. + + - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.commands.items.exec.env: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.parent.commands.items.exec.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.commands.items.composite.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v1alpha2.DevWorkspace.spec.template.parent.commands.items.apply.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v1alpha2.DevWorkspace.spec.template.components.items.container: + description: Allows adding and configuring devworkspace-related containers + properties: + annotation: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.container.annotation' + args: + description: |- + The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. + + Defaults to an empty array, meaning use whatever is defined in the image. + items: + type: string + type: array + command: + description: |- + The command to run in the dockerimage component instead of the default one provided in the image. + + Defaults to an empty array, meaning use whatever is defined in the image. + items: + type: string + type: array + cpuLimit: + type: string + cpuRequest: + type: string + dedicatedPod: + description: |- + Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.container.endpoints' + type: array + env: + description: |- + Environment variables used in this container. + + The following variables are reserved and cannot be overridden via env: + + - `$PROJECTS_ROOT` + + - `$PROJECT_SOURCE` + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.container.env' + type: array + image: + type: string + memoryLimit: + type: string + memoryRequest: + type: string + mountSources: + description: |- + Toggles whether or not the project source code should be mounted in the component. + + Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. + type: boolean + sourceMapping: + default: /projects + description: Optional specification of the path in the container where project + sources should be transferred/mounted when `mountSources` is `true`. When + omitted, the default value of /projects is used. + type: string + volumeMounts: + description: List of volumes mounts that should be mounted is this container. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.container.volumeMounts' + type: array + required: + - image + type: object + v1alpha2.DevWorkspace.spec.template.components.items.custom: + description: Custom component whose logic is implementation-dependant and should + be provided by the user possibly through some dedicated controller + properties: + componentClass: + description: Class of component that the associated implementation controller + should use to process this command with the appropriate logic + type: string + embeddedResource: + description: Additional free-form configuration for this custom component + that the implementation controller will know how to use + properties: {} + type: object + required: + - componentClass + - embeddedResource + type: object + v1alpha2.DevWorkspace.spec.template.components.items.image: + description: Allows specifying the definition of an image for outer loop builds + properties: + autoBuild: + description: |- + Defines if the image should be built during startup. + + Default value is `false` + type: boolean + dockerfile: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.image.dockerfile' + imageName: + description: Name of the image for the resulting outerloop build + type: string + required: + - imageName + type: object + v1alpha2.DevWorkspace.spec.template.components.items.kubernetes: + description: Allows importing into the devworkspace the Kubernetes resources + defined in a given manifest. For example this allows reusing the Kubernetes + definitions used to deploy some runtime components in production. + properties: + deployByDefault: + description: |- + Defines if the component should be deployed during startup. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.kubernetes.endpoints' + type: array + inlined: + description: Inlined manifest + type: string + uri: + description: Location in a file fetched from a uri. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.components.items.openshift: + description: Allows importing into the devworkspace the OpenShift resources + defined in a given manifest. For example this allows reusing the OpenShift + definitions used to deploy some runtime components in production. + properties: + deployByDefault: + description: |- + Defines if the component should be deployed during startup. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.openshift.endpoints' + type: array + inlined: + description: Inlined manifest + type: string + uri: + description: Location in a file fetched from a uri. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin: + description: |- + Allows importing a plugin. + + Plugins are mainly imported devfiles that contribute components, commands and events as a consistent single unit. They are defined in either YAML files following the devfile syntax, or as `DevWorkspaceTemplate` Kubernetes Custom Resources + properties: + commands: + description: Overrides of commands encapsulated in a parent devfile or a + plugin. Overriding is done according to K8S strategic merge patch standard + rules. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.commands' + type: array + components: + description: Overrides of components encapsulated in a parent devfile or + a plugin. Overriding is done according to K8S strategic merge patch standard + rules. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.components' + type: array + id: + description: Id in a registry that contains a Devfile yaml file + type: string + kubernetes: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.kubernetes' + registryUrl: + description: Registry URL to pull the parent devfile from when using id + in the parent reference. To ensure the parent devfile gets resolved consistently + in different environments, it is recommended to always specify the `registryUrl` + when `id` is used. + type: string + uri: + description: URI Reference of a parent devfile YAML file. It can be a full + URL or a relative URI with the current devfile as the base URI. + type: string + version: + description: Specific stack/sample version to pull the parent devfile from, + when using id in the parent reference. To specify `version`, `id` must + be defined and used as the import reference source. `version` can be either + a specific stack version, or `latest`. If no `version` specified, default + version will be used. + pattern: ^(latest)|(([1-9])\.([0-9]+)\.([0-9]+)(\-[0-9a-z-]+(\.[0-9a-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?)$ + type: string + type: object + v1alpha2.DevWorkspace.spec.template.components.items.volume: + description: Allows specifying the definition of a volume shared by several + other components + properties: + ephemeral: + description: Ephemeral volumes are not stored persistently across restarts. + Defaults to false + type: boolean + size: + description: Size of the volume + type: string + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.commands: + properties: + apply: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.commands.items.apply' + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + composite: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.commands.items.composite' + exec: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.commands.items.exec' + id: + description: Mandatory identifier that allows referencing this command in + composite commands, from a parent, or in events. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - id + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.components: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + container: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.container' + image: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.image' + kubernetes: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.kubernetes' + name: + description: Mandatory name that allows referencing the component from other + elements (such as commands) or from an external devfile that may reference + this component through a parent or a plugin. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + openshift: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.openshift' + volume: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.volume' + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.kubernetes: + description: Reference to a Kubernetes CRD of type DevWorkspaceTemplate + properties: + name: + type: string + namespace: + type: string + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.container: + description: Allows adding and configuring devworkspace-related containers + properties: + annotation: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.container.annotation' + args: + description: |- + The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. + + Defaults to an empty array, meaning use whatever is defined in the image. + items: + type: string + type: array + command: + description: |- + The command to run in the dockerimage component instead of the default one provided in the image. + + Defaults to an empty array, meaning use whatever is defined in the image. + items: + type: string + type: array + cpuLimit: + type: string + cpuRequest: + type: string + dedicatedPod: + description: |- + Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.container.endpoints' + type: array + env: + description: |- + Environment variables used in this container. + + The following variables are reserved and cannot be overridden via env: + + - `$PROJECTS_ROOT` + + - `$PROJECT_SOURCE` + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.container.env' + type: array + image: + type: string + memoryLimit: + type: string + memoryRequest: + type: string + mountSources: + description: |- + Toggles whether or not the project source code should be mounted in the component. + + Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. + type: boolean + sourceMapping: + description: Optional specification of the path in the container where project + sources should be transferred/mounted when `mountSources` is `true`. When + omitted, the default value of /projects is used. + type: string + volumeMounts: + description: List of volumes mounts that should be mounted is this container. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.container.volumeMounts' + type: array + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.image: + description: Allows specifying the definition of an image for outer loop builds + properties: + autoBuild: + description: |- + Defines if the image should be built during startup. + + Default value is `false` + type: boolean + dockerfile: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.image.dockerfile' + imageName: + description: Name of the image for the resulting outerloop build + type: string + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.kubernetes: + description: Allows importing into the devworkspace the Kubernetes resources + defined in a given manifest. For example this allows reusing the Kubernetes + definitions used to deploy some runtime components in production. + properties: + deployByDefault: + description: |- + Defines if the component should be deployed during startup. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.kubernetes.endpoints' + type: array + inlined: + description: Inlined manifest + type: string + uri: + description: Location in a file fetched from a uri. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.openshift: + description: Allows importing into the devworkspace the OpenShift resources + defined in a given manifest. For example this allows reusing the OpenShift + definitions used to deploy some runtime components in production. + properties: + deployByDefault: + description: |- + Defines if the component should be deployed during startup. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.openshift.endpoints' + type: array + inlined: + description: Inlined manifest + type: string + uri: + description: Location in a file fetched from a uri. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.volume: + description: Allows specifying the definition of a volume shared by several + other components + properties: + ephemeral: + description: Ephemeral volumes are not stored persistently across restarts. + Defaults to false + type: boolean + size: + description: Size of the volume + type: string + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.openshift.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.kubernetes.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.image.dockerfile: + description: Allows specifying dockerfile type build + properties: + args: + description: The arguments to supply to the dockerfile build. + items: + type: string + type: array + buildContext: + description: Path of source directory to establish build context. Defaults + to ${PROJECT_SOURCE} in the container + type: string + devfileRegistry: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.image.dockerfile.devfileRegistry' + git: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.image.dockerfile.git' + rootRequired: + description: |- + Specify if a privileged builder pod is required. + + Default value is `false` + type: boolean + uri: + description: URI Reference of a Dockerfile. It can be a full URL or a relative + URI from the current devfile as the base URI. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.image.dockerfile.devfileRegistry: + description: Dockerfile's Devfile Registry source + properties: + id: + description: Id in a devfile registry that contains a Dockerfile. The src + in the OCI registry required for the Dockerfile build will be downloaded + for building the image. + type: string + registryUrl: + description: Devfile Registry URL to pull the Dockerfile from when using + the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets + resolved consistently in different environments, it is recommended to + always specify the `devfileRegistryUrl` when `Id` is used. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.image.dockerfile.git: + description: Dockerfile's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.image.dockerfile.git.checkoutFrom' + fileLocation: + description: Location of the Dockerfile in the Git repository when using + git as Dockerfile src. Defaults to Dockerfile. + type: string + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.image.dockerfile.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.container.annotation: + description: Annotations that should be added to specific resources for this + container + properties: + deployment: + additionalProperties: + type: string + description: Annotations to be added to deployment + type: object + service: + additionalProperties: + type: string + description: Annotations to be added to service + type: object + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.container.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.container.env: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.components.items.container.volumeMounts: + description: Volume that should be mounted to a component container + properties: + name: + description: The volume mount name is the name of an existing `Volume` component. + If several containers mount the same volume name then they will reuse + the same volume and will be able to access to the same files. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: The path in the component container where the volume should + be mounted. If not path is mentioned, default path is the is `/`. + type: string + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.commands.items.apply: + description: |- + Command that consists in applying a given component definition, typically bound to a devworkspace event. + + For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. + + When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. + properties: + component: + description: Describes component that will be applied + type: string + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.commands.items.apply.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.commands.items.composite: + description: Composite command that allows executing several sub-commands either + sequentially or concurrently + properties: + commands: + description: The commands that comprise this composite command + items: + type: string + type: array + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.commands.items.composite.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + parallel: + description: Indicates if the sub-commands should be executed concurrently + type: boolean + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.commands.items.exec: + description: CLI Command executed in an existing component container + properties: + commandLine: + description: |- + The actual command-line string + + Special variables that can be used: + + - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. + + - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one. + type: string + component: + description: Describes component to which given action relates + type: string + env: + description: Optional list of environment variables that have to be set + before running the command + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.commands.items.exec.env' + type: array + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.plugin.commands.items.exec.group' + hotReloadCapable: + description: |- + Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. + + Default value is `false` + type: boolean + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + workingDir: + description: |- + Working directory where the command should be executed + + Special variables that can be used: + + - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. + + - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.commands.items.exec.env: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.commands.items.exec.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.commands.items.composite.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v1alpha2.DevWorkspace.spec.template.components.items.plugin.commands.items.apply.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v1alpha2.DevWorkspace.spec.template.components.items.openshift.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + default: public + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + default: http + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + - targetPort + type: object + v1alpha2.DevWorkspace.spec.template.components.items.kubernetes.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + default: public + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + default: http + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + - targetPort + type: object + v1alpha2.DevWorkspace.spec.template.components.items.image.dockerfile: + description: Allows specifying dockerfile type build + properties: + args: + description: The arguments to supply to the dockerfile build. + items: + type: string + type: array + buildContext: + description: Path of source directory to establish build context. Defaults + to ${PROJECT_SOURCE} in the container + type: string + devfileRegistry: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.image.dockerfile.devfileRegistry' + git: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.image.dockerfile.git' + rootRequired: + description: |- + Specify if a privileged builder pod is required. + + Default value is `false` + type: boolean + uri: + description: URI Reference of a Dockerfile. It can be a full URL or a relative + URI from the current devfile as the base URI. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.components.items.image.dockerfile.devfileRegistry: + description: Dockerfile's Devfile Registry source + properties: + id: + description: Id in a devfile registry that contains a Dockerfile. The src + in the OCI registry required for the Dockerfile build will be downloaded + for building the image. + type: string + registryUrl: + description: Devfile Registry URL to pull the Dockerfile from when using + the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets + resolved consistently in different environments, it is recommended to + always specify the `devfileRegistryUrl` when `Id` is used. + type: string + required: + - id + type: object + v1alpha2.DevWorkspace.spec.template.components.items.image.dockerfile.git: + description: Dockerfile's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.components.items.image.dockerfile.git.checkoutFrom' + fileLocation: + description: Location of the Dockerfile in the Git repository when using + git as Dockerfile src. Defaults to Dockerfile. + type: string + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + required: + - remotes + type: object + v1alpha2.DevWorkspace.spec.template.components.items.image.dockerfile.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v1alpha2.DevWorkspace.spec.template.components.items.container.annotation: + description: Annotations that should be added to specific resources for this + container + properties: + deployment: + additionalProperties: + type: string + description: Annotations to be added to deployment + type: object + service: + additionalProperties: + type: string + description: Annotations to be added to service + type: object + type: object + v1alpha2.DevWorkspace.spec.template.components.items.container.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + default: public + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + default: http + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + - targetPort + type: object + v1alpha2.DevWorkspace.spec.template.components.items.container.env: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + v1alpha2.DevWorkspace.spec.template.components.items.container.volumeMounts: + description: Volume that should be mounted to a component container + properties: + name: + description: The volume mount name is the name of an existing `Volume` component. + If several containers mount the same volume name then they will reuse + the same volume and will be able to access to the same files. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: The path in the component container where the volume should + be mounted. If not path is mentioned, default path is the is `/`. + type: string + required: + - name + type: object + v1alpha2.DevWorkspace.spec.template.commands.items.apply: + description: |- + Command that consists in applying a given component definition, typically bound to a devworkspace event. + + For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. + + When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. + properties: + component: + description: Describes component that will be applied + type: string + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.commands.items.apply.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + required: + - component + type: object + v1alpha2.DevWorkspace.spec.template.commands.items.composite: + description: Composite command that allows executing several sub-commands either + sequentially or concurrently + properties: + commands: + description: The commands that comprise this composite command + items: + type: string + type: array + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.commands.items.composite.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + parallel: + description: Indicates if the sub-commands should be executed concurrently + type: boolean + type: object + v1alpha2.DevWorkspace.spec.template.commands.items.custom: + description: Custom command whose logic is implementation-dependant and should + be provided by the user possibly through some dedicated plugin + properties: + commandClass: + description: Class of command that the associated implementation component + should use to process this command with the appropriate logic + type: string + embeddedResource: + description: Additional free-form configuration for this custom command + that the implementation component will know how to use + properties: {} + type: object + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.commands.items.custom.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + required: + - commandClass + - embeddedResource + type: object + v1alpha2.DevWorkspace.spec.template.commands.items.exec: + description: CLI Command executed in an existing component container + properties: + commandLine: + description: |- + The actual command-line string + + Special variables that can be used: + + - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. + + - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one. + type: string + component: + description: Describes component to which given action relates + type: string + env: + description: Optional list of environment variables that have to be set + before running the command + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.commands.items.exec.env' + type: array + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspace.spec.template.commands.items.exec.group' + hotReloadCapable: + description: |- + Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. + + Default value is `false` + type: boolean + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + workingDir: + description: |- + Working directory where the command should be executed + + Special variables that can be used: + + - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. + + - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one. + type: string + required: + - commandLine + - component + type: object + v1alpha2.DevWorkspace.spec.template.commands.items.exec.env: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + v1alpha2.DevWorkspace.spec.template.commands.items.exec.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + required: + - kind + type: object + v1alpha2.DevWorkspace.spec.template.commands.items.custom.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + required: + - kind + type: object + v1alpha2.DevWorkspace.spec.template.commands.items.composite.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + required: + - kind + type: object + v1alpha2.DevWorkspace.spec.template.commands.items.apply.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + required: + - kind + type: object + v1alpha2.DevWorkspace.metadata.managedFields: + 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. + properties: {} + type: object + 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' + format: date-time + type: string + type: object + v1alpha2.DevWorkspace.metadata.ownerReferences: + 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. + 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 + required: + - apiVersion + - kind + - name + - uid + type: object + v1alpha2.DevWorkspaceTemplate: + description: DevWorkspaceTemplate is the Schema for the devworkspacetemplates + API + 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: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.metadata' + spec: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec' + title: DevWorkspaceTemplate schema - Version 2.2.0-alpha + type: object + v1alpha2.DevWorkspaceTemplate.metadata: + description: ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + properties: + annotations: + additionalProperties: + type: string + description: 'Annotations is an unstructured key value map stored with a + resource that may be set by external tools to store and retrieve arbitrary + metadata. They are not queryable and should be preserved when modifying + objects. More info: http://kubernetes.io/docs/user-guide/annotations' + type: object + clusterName: + description: The name of the cluster which the object belongs to. This is + used to distinguish resources with same name and namespace in different + clusters. This field is not set anywhere right now and apiserver is going + to ignore it if set in create or update request. + type: string + creationTimestamp: + 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. + + Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + format: date-time + type: string + 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. + format: int64 + type: integer + 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. + + Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + format: date-time + 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. 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. + items: + type: string + type: array + 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. + + If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). + + Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency + type: string + generation: + description: A sequence number representing a specific generation of the + desired state. Populated by the system. Read-only. + format: int64 + type: integer + labels: + additionalProperties: + type: string + description: 'Map of string keys and values that can be used to organize + and categorize (scope and select) objects. May match selectors of replication + controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' + type: object + 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. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.metadata.managedFields' + type: array + 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 which each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. + + Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces + 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. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.metadata.ownerReferences' + type: array + 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. + + Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency + type: string + selfLink: + description: |- + SelfLink is a URL representing this object. Populated by the system. Read-only. + + DEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release. + 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. + + Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec: + description: Structure of the devworkspace. This is also the specification of + a devworkspace template. + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + commands: + description: Predefined, ready-to-use, devworkspace-related commands + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.commands' + type: array + components: + description: List of the devworkspace components, such as editor and plugins, + user-provided containers, or other types of components + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components' + type: array + events: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.events' + parent: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent' + projects: + description: Projects worked on in the devworkspace, containing names and + sources locations + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.projects' + type: array + starterProjects: + description: StarterProjects is a project that can be used as a starting + point when bootstrapping new projects + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.starterProjects' + type: array + variables: + additionalProperties: + type: string + description: |- + Map of key-value variables used for string replacement in the devfile. Values can be referenced via {{variable-key}} to replace the corresponding value in string fields in the devfile. Replacement cannot be used for + + - schemaVersion, metadata, parent source + + - element identifiers, e.g. command id, component name, endpoint name, project name + + - references to identifiers, e.g. in events, a command's component, container's volume mount name + + - string enums, e.g. command group kind, endpoint exposure + type: object + type: object + v1alpha2.DevWorkspaceTemplate.spec.commands: + properties: + apply: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.commands.items.apply' + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + composite: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.commands.items.composite' + custom: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.commands.items.custom' + exec: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.commands.items.exec' + id: + description: Mandatory identifier that allows referencing this command in + composite commands, from a parent, or in events. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - id + type: object + v1alpha2.DevWorkspaceTemplate.spec.components: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + container: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.container' + custom: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.custom' + image: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.image' + kubernetes: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.kubernetes' + name: + description: Mandatory name that allows referencing the component from other + elements (such as commands) or from an external devfile that may reference + this component through a parent or a plugin. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + openshift: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.openshift' + plugin: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin' + volume: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.volume' + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.events: + description: Bindings of commands to events. Each command is referred-to by + its name. + properties: + postStart: + description: IDs of commands that should be executed after the devworkspace + is completely started. In the case of Che-Theia, these commands should + be executed after all plugins and extensions have started, including project + cloning. This means that those commands are not triggered until the user + opens the IDE in his browser. + items: + type: string + type: array + postStop: + description: IDs of commands that should be executed after stopping the + devworkspace. + items: + type: string + type: array + preStart: + description: IDs of commands that should be executed before the devworkspace + start. Kubernetes-wise, these commands would typically be executed in + init containers of the devworkspace POD. + items: + type: string + type: array + preStop: + description: IDs of commands that should be executed before stopping the + devworkspace. + items: + type: string + type: array + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent: + description: Parent devworkspace template + properties: + attributes: + description: Overrides of attributes encapsulated in a parent devfile. Overriding + is done according to K8S strategic merge patch standard rules. + properties: {} + type: object + commands: + description: Overrides of commands encapsulated in a parent devfile or a + plugin. Overriding is done according to K8S strategic merge patch standard + rules. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.commands' + type: array + components: + description: Overrides of components encapsulated in a parent devfile or + a plugin. Overriding is done according to K8S strategic merge patch standard + rules. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components' + type: array + id: + description: Id in a registry that contains a Devfile yaml file + type: string + kubernetes: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.kubernetes' + projects: + description: Overrides of projects encapsulated in a parent devfile. Overriding + is done according to K8S strategic merge patch standard rules. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.projects' + type: array + registryUrl: + description: Registry URL to pull the parent devfile from when using id + in the parent reference. To ensure the parent devfile gets resolved consistently + in different environments, it is recommended to always specify the `registryUrl` + when `id` is used. + type: string + starterProjects: + description: Overrides of starterProjects encapsulated in a parent devfile. + Overriding is done according to K8S strategic merge patch standard rules. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.starterProjects' + type: array + uri: + description: URI Reference of a parent devfile YAML file. It can be a full + URL or a relative URI with the current devfile as the base URI. + type: string + variables: + additionalProperties: + type: string + description: Overrides of variables encapsulated in a parent devfile. Overriding + is done according to K8S strategic merge patch standard rules. + type: object + version: + description: Specific stack/sample version to pull the parent devfile from, + when using id in the parent reference. To specify `version`, `id` must + be defined and used as the import reference source. `version` can be either + a specific stack version, or `latest`. If no `version` specified, default + version will be used. + pattern: ^(latest)|(([1-9])\.([0-9]+)\.([0-9]+)(\-[0-9a-z-]+(\.[0-9a-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?)$ + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.projects: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + clonePath: + description: Path relative to the root of the projects to which this project + should be cloned into. This is a unix-style relative path (i.e. uses forward + slashes). The path is invalid if it is absolute or tries to escape the + project root through the usage of '..'. If not specified, defaults to + the project name. + type: string + custom: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.projects.items.custom' + git: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.projects.items.git' + name: + description: Project name + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + zip: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.projects.items.zip' + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.starterProjects: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + custom: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.starterProjects.items.custom' + description: + description: Description of a starter project + type: string + git: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.starterProjects.items.git' + name: + description: Project name + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + subDir: + description: Sub-directory from a starter project to be used as root for + starter project. + type: string + zip: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.starterProjects.items.zip' + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.starterProjects.items.custom: + description: Project's Custom source + properties: + embeddedResource: + properties: {} + type: object + projectSourceClass: + type: string + required: + - embeddedResource + - projectSourceClass + type: object + v1alpha2.DevWorkspaceTemplate.spec.starterProjects.items.git: + description: Project's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.starterProjects.items.git.checkoutFrom' + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + required: + - remotes + type: object + v1alpha2.DevWorkspaceTemplate.spec.starterProjects.items.zip: + description: Project's Zip source + properties: + location: + description: Zip project's source location address. Should be file path + of the archive, e.g. file://$FILE_PATH + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.starterProjects.items.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.projects.items.custom: + description: Project's Custom source + properties: + embeddedResource: + properties: {} + type: object + projectSourceClass: + type: string + required: + - embeddedResource + - projectSourceClass + type: object + v1alpha2.DevWorkspaceTemplate.spec.projects.items.git: + description: Project's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.projects.items.git.checkoutFrom' + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + required: + - remotes + type: object + v1alpha2.DevWorkspaceTemplate.spec.projects.items.zip: + description: Project's Zip source + properties: + location: + description: Zip project's source location address. Should be file path + of the archive, e.g. file://$FILE_PATH + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.projects.items.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.commands: + properties: + apply: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.commands.items.apply' + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + composite: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.commands.items.composite' + exec: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.commands.items.exec' + id: + description: Mandatory identifier that allows referencing this command in + composite commands, from a parent, or in events. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - id + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + container: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.container' + image: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.image' + kubernetes: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.kubernetes' + name: + description: Mandatory name that allows referencing the component from other + elements (such as commands) or from an external devfile that may reference + this component through a parent or a plugin. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + openshift: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.openshift' + plugin: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin' + volume: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.volume' + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.kubernetes: + description: Reference to a Kubernetes CRD of type DevWorkspaceTemplate + properties: + name: + type: string + namespace: + type: string + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.projects: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + clonePath: + description: Path relative to the root of the projects to which this project + should be cloned into. This is a unix-style relative path (i.e. uses forward + slashes). The path is invalid if it is absolute or tries to escape the + project root through the usage of '..'. If not specified, defaults to + the project name. + type: string + git: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.projects.items.git' + name: + description: Project name + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + zip: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.projects.items.zip' + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.starterProjects: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + description: + description: Description of a starter project + type: string + git: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.starterProjects.items.git' + name: + description: Project name + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + subDir: + description: Sub-directory from a starter project to be used as root for + starter project. + type: string + zip: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.starterProjects.items.zip' + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.starterProjects.items.git: + description: Project's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.starterProjects.items.git.checkoutFrom' + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.starterProjects.items.zip: + description: Project's Zip source + properties: + location: + description: Zip project's source location address. Should be file path + of the archive, e.g. file://$FILE_PATH + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.starterProjects.items.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.projects.items.git: + description: Project's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.projects.items.git.checkoutFrom' + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.projects.items.zip: + description: Project's Zip source + properties: + location: + description: Zip project's source location address. Should be file path + of the archive, e.g. file://$FILE_PATH + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.projects.items.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.container: + description: Allows adding and configuring devworkspace-related containers + properties: + annotation: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.container.annotation' + args: + description: |- + The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. + + Defaults to an empty array, meaning use whatever is defined in the image. + items: + type: string + type: array + command: + description: |- + The command to run in the dockerimage component instead of the default one provided in the image. + + Defaults to an empty array, meaning use whatever is defined in the image. + items: + type: string + type: array + cpuLimit: + type: string + cpuRequest: + type: string + dedicatedPod: + description: |- + Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.container.endpoints' + type: array + env: + description: |- + Environment variables used in this container. + + The following variables are reserved and cannot be overridden via env: + + - `$PROJECTS_ROOT` + + - `$PROJECT_SOURCE` + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.container.env' + type: array + image: + type: string + memoryLimit: + type: string + memoryRequest: + type: string + mountSources: + description: |- + Toggles whether or not the project source code should be mounted in the component. + + Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. + type: boolean + sourceMapping: + description: Optional specification of the path in the container where project + sources should be transferred/mounted when `mountSources` is `true`. When + omitted, the default value of /projects is used. + type: string + volumeMounts: + description: List of volumes mounts that should be mounted is this container. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.container.volumeMounts' + type: array + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.image: + description: Allows specifying the definition of an image for outer loop builds + properties: + autoBuild: + description: |- + Defines if the image should be built during startup. + + Default value is `false` + type: boolean + dockerfile: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.image.dockerfile' + imageName: + description: Name of the image for the resulting outerloop build + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.kubernetes: + description: Allows importing into the devworkspace the Kubernetes resources + defined in a given manifest. For example this allows reusing the Kubernetes + definitions used to deploy some runtime components in production. + properties: + deployByDefault: + description: |- + Defines if the component should be deployed during startup. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.kubernetes.endpoints' + type: array + inlined: + description: Inlined manifest + type: string + uri: + description: Location in a file fetched from a uri. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.openshift: + description: Allows importing into the devworkspace the OpenShift resources + defined in a given manifest. For example this allows reusing the OpenShift + definitions used to deploy some runtime components in production. + properties: + deployByDefault: + description: |- + Defines if the component should be deployed during startup. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.openshift.endpoints' + type: array + inlined: + description: Inlined manifest + type: string + uri: + description: Location in a file fetched from a uri. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin: + description: |- + Allows importing a plugin. + + Plugins are mainly imported devfiles that contribute components, commands and events as a consistent single unit. They are defined in either YAML files following the devfile syntax, or as `DevWorkspaceTemplate` Kubernetes Custom Resources + properties: + commands: + description: Overrides of commands encapsulated in a parent devfile or a + plugin. Overriding is done according to K8S strategic merge patch standard + rules. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.commands' + type: array + components: + description: Overrides of components encapsulated in a parent devfile or + a plugin. Overriding is done according to K8S strategic merge patch standard + rules. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components' + type: array + id: + description: Id in a registry that contains a Devfile yaml file + type: string + kubernetes: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.kubernetes' + registryUrl: + description: Registry URL to pull the parent devfile from when using id + in the parent reference. To ensure the parent devfile gets resolved consistently + in different environments, it is recommended to always specify the `registryUrl` + when `id` is used. + type: string + uri: + description: URI Reference of a parent devfile YAML file. It can be a full + URL or a relative URI with the current devfile as the base URI. + type: string + version: + description: Specific stack/sample version to pull the parent devfile from, + when using id in the parent reference. To specify `version`, `id` must + be defined and used as the import reference source. `version` can be either + a specific stack version, or `latest`. If no `version` specified, default + version will be used. + pattern: ^(latest)|(([1-9])\.([0-9]+)\.([0-9]+)(\-[0-9a-z-]+(\.[0-9a-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?)$ + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.volume: + description: Allows specifying the definition of a volume shared by several + other components + properties: + ephemeral: + description: Ephemeral volumes are not stored persistently across restarts. + Defaults to false + type: boolean + size: + description: Size of the volume + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.commands: + properties: + apply: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.commands.items.apply' + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + composite: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.commands.items.composite' + exec: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.commands.items.exec' + id: + description: Mandatory identifier that allows referencing this command in + composite commands, from a parent, or in events. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - id + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + container: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.container' + image: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.image' + kubernetes: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.kubernetes' + name: + description: Mandatory name that allows referencing the component from other + elements (such as commands) or from an external devfile that may reference + this component through a parent or a plugin. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + openshift: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.openshift' + volume: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.volume' + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.kubernetes: + description: Reference to a Kubernetes CRD of type DevWorkspaceTemplate + properties: + name: + type: string + namespace: + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.container: + description: Allows adding and configuring devworkspace-related containers + properties: + annotation: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.container.annotation' + args: + description: |- + The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. + + Defaults to an empty array, meaning use whatever is defined in the image. + items: + type: string + type: array + command: + description: |- + The command to run in the dockerimage component instead of the default one provided in the image. + + Defaults to an empty array, meaning use whatever is defined in the image. + items: + type: string + type: array + cpuLimit: + type: string + cpuRequest: + type: string + dedicatedPod: + description: |- + Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.container.endpoints' + type: array + env: + description: |- + Environment variables used in this container. + + The following variables are reserved and cannot be overridden via env: + + - `$PROJECTS_ROOT` + + - `$PROJECT_SOURCE` + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.container.env' + type: array + image: + type: string + memoryLimit: + type: string + memoryRequest: + type: string + mountSources: + description: |- + Toggles whether or not the project source code should be mounted in the component. + + Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. + type: boolean + sourceMapping: + description: Optional specification of the path in the container where project + sources should be transferred/mounted when `mountSources` is `true`. When + omitted, the default value of /projects is used. + type: string + volumeMounts: + description: List of volumes mounts that should be mounted is this container. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.container.volumeMounts' + type: array + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.image: + description: Allows specifying the definition of an image for outer loop builds + properties: + autoBuild: + description: |- + Defines if the image should be built during startup. + + Default value is `false` + type: boolean + dockerfile: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.image.dockerfile' + imageName: + description: Name of the image for the resulting outerloop build + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.kubernetes: + description: Allows importing into the devworkspace the Kubernetes resources + defined in a given manifest. For example this allows reusing the Kubernetes + definitions used to deploy some runtime components in production. + properties: + deployByDefault: + description: |- + Defines if the component should be deployed during startup. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.kubernetes.endpoints' + type: array + inlined: + description: Inlined manifest + type: string + uri: + description: Location in a file fetched from a uri. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.openshift: + description: Allows importing into the devworkspace the OpenShift resources + defined in a given manifest. For example this allows reusing the OpenShift + definitions used to deploy some runtime components in production. + properties: + deployByDefault: + description: |- + Defines if the component should be deployed during startup. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.openshift.endpoints' + type: array + inlined: + description: Inlined manifest + type: string + uri: + description: Location in a file fetched from a uri. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.volume: + description: Allows specifying the definition of a volume shared by several + other components + properties: + ephemeral: + description: Ephemeral volumes are not stored persistently across restarts. + Defaults to false + type: boolean + size: + description: Size of the volume + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.openshift.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.kubernetes.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.image.dockerfile: + description: Allows specifying dockerfile type build + properties: + args: + description: The arguments to supply to the dockerfile build. + items: + type: string + type: array + buildContext: + description: Path of source directory to establish build context. Defaults + to ${PROJECT_SOURCE} in the container + type: string + devfileRegistry: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.image.dockerfile.devfileRegistry' + git: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.image.dockerfile.git' + rootRequired: + description: |- + Specify if a privileged builder pod is required. + + Default value is `false` + type: boolean + uri: + description: URI Reference of a Dockerfile. It can be a full URL or a relative + URI from the current devfile as the base URI. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.image.dockerfile.devfileRegistry: + description: Dockerfile's Devfile Registry source + properties: + id: + description: Id in a devfile registry that contains a Dockerfile. The src + in the OCI registry required for the Dockerfile build will be downloaded + for building the image. + type: string + registryUrl: + description: Devfile Registry URL to pull the Dockerfile from when using + the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets + resolved consistently in different environments, it is recommended to + always specify the `devfileRegistryUrl` when `Id` is used. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.image.dockerfile.git: + description: Dockerfile's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.image.dockerfile.git.checkoutFrom' + fileLocation: + description: Location of the Dockerfile in the Git repository when using + git as Dockerfile src. Defaults to Dockerfile. + type: string + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.image.dockerfile.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.container.annotation: + description: Annotations that should be added to specific resources for this + container + properties: + deployment: + additionalProperties: + type: string + description: Annotations to be added to deployment + type: object + service: + additionalProperties: + type: string + description: Annotations to be added to service + type: object + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.container.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.container.env: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.components.items.container.volumeMounts: + description: Volume that should be mounted to a component container + properties: + name: + description: The volume mount name is the name of an existing `Volume` component. + If several containers mount the same volume name then they will reuse + the same volume and will be able to access to the same files. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: The path in the component container where the volume should + be mounted. If not path is mentioned, default path is the is `/`. + type: string + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.commands.items.apply: + description: |- + Command that consists in applying a given component definition, typically bound to a devworkspace event. + + For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. + + When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. + properties: + component: + description: Describes component that will be applied + type: string + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.commands.items.apply.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.commands.items.composite: + description: Composite command that allows executing several sub-commands either + sequentially or concurrently + properties: + commands: + description: The commands that comprise this composite command + items: + type: string + type: array + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.commands.items.composite.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + parallel: + description: Indicates if the sub-commands should be executed concurrently + type: boolean + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.commands.items.exec: + description: CLI Command executed in an existing component container + properties: + commandLine: + description: |- + The actual command-line string + + Special variables that can be used: + + - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. + + - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one. + type: string + component: + description: Describes component to which given action relates + type: string + env: + description: Optional list of environment variables that have to be set + before running the command + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.commands.items.exec.env' + type: array + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.commands.items.exec.group' + hotReloadCapable: + description: |- + Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. + + Default value is `false` + type: boolean + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + workingDir: + description: |- + Working directory where the command should be executed + + Special variables that can be used: + + - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. + + - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.commands.items.exec.env: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.commands.items.exec.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.commands.items.composite.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.plugin.commands.items.apply.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.openshift.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.kubernetes.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.image.dockerfile: + description: Allows specifying dockerfile type build + properties: + args: + description: The arguments to supply to the dockerfile build. + items: + type: string + type: array + buildContext: + description: Path of source directory to establish build context. Defaults + to ${PROJECT_SOURCE} in the container + type: string + devfileRegistry: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.image.dockerfile.devfileRegistry' + git: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.image.dockerfile.git' + rootRequired: + description: |- + Specify if a privileged builder pod is required. + + Default value is `false` + type: boolean + uri: + description: URI Reference of a Dockerfile. It can be a full URL or a relative + URI from the current devfile as the base URI. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.image.dockerfile.devfileRegistry: + description: Dockerfile's Devfile Registry source + properties: + id: + description: Id in a devfile registry that contains a Dockerfile. The src + in the OCI registry required for the Dockerfile build will be downloaded + for building the image. + type: string + registryUrl: + description: Devfile Registry URL to pull the Dockerfile from when using + the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets + resolved consistently in different environments, it is recommended to + always specify the `devfileRegistryUrl` when `Id` is used. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.image.dockerfile.git: + description: Dockerfile's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.image.dockerfile.git.checkoutFrom' + fileLocation: + description: Location of the Dockerfile in the Git repository when using + git as Dockerfile src. Defaults to Dockerfile. + type: string + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.image.dockerfile.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.container.annotation: + description: Annotations that should be added to specific resources for this + container + properties: + deployment: + additionalProperties: + type: string + description: Annotations to be added to deployment + type: object + service: + additionalProperties: + type: string + description: Annotations to be added to service + type: object + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.container.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.container.env: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.components.items.container.volumeMounts: + description: Volume that should be mounted to a component container + properties: + name: + description: The volume mount name is the name of an existing `Volume` component. + If several containers mount the same volume name then they will reuse + the same volume and will be able to access to the same files. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: The path in the component container where the volume should + be mounted. If not path is mentioned, default path is the is `/`. + type: string + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.commands.items.apply: + description: |- + Command that consists in applying a given component definition, typically bound to a devworkspace event. + + For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. + + When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. + properties: + component: + description: Describes component that will be applied + type: string + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.commands.items.apply.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.commands.items.composite: + description: Composite command that allows executing several sub-commands either + sequentially or concurrently + properties: + commands: + description: The commands that comprise this composite command + items: + type: string + type: array + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.commands.items.composite.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + parallel: + description: Indicates if the sub-commands should be executed concurrently + type: boolean + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.commands.items.exec: + description: CLI Command executed in an existing component container + properties: + commandLine: + description: |- + The actual command-line string + + Special variables that can be used: + + - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. + + - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one. + type: string + component: + description: Describes component to which given action relates + type: string + env: + description: Optional list of environment variables that have to be set + before running the command + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.commands.items.exec.env' + type: array + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.parent.commands.items.exec.group' + hotReloadCapable: + description: |- + Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. + + Default value is `false` + type: boolean + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + workingDir: + description: |- + Working directory where the command should be executed + + Special variables that can be used: + + - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. + + - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.commands.items.exec.env: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.commands.items.exec.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.commands.items.composite.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.parent.commands.items.apply.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.container: + description: Allows adding and configuring devworkspace-related containers + properties: + annotation: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.container.annotation' + args: + description: |- + The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. + + Defaults to an empty array, meaning use whatever is defined in the image. + items: + type: string + type: array + command: + description: |- + The command to run in the dockerimage component instead of the default one provided in the image. + + Defaults to an empty array, meaning use whatever is defined in the image. + items: + type: string + type: array + cpuLimit: + type: string + cpuRequest: + type: string + dedicatedPod: + description: |- + Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.container.endpoints' + type: array + env: + description: |- + Environment variables used in this container. + + The following variables are reserved and cannot be overridden via env: + + - `$PROJECTS_ROOT` + + - `$PROJECT_SOURCE` + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.container.env' + type: array + image: + type: string + memoryLimit: + type: string + memoryRequest: + type: string + mountSources: + description: |- + Toggles whether or not the project source code should be mounted in the component. + + Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. + type: boolean + sourceMapping: + default: /projects + description: Optional specification of the path in the container where project + sources should be transferred/mounted when `mountSources` is `true`. When + omitted, the default value of /projects is used. + type: string + volumeMounts: + description: List of volumes mounts that should be mounted is this container. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.container.volumeMounts' + type: array + required: + - image + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.custom: + description: Custom component whose logic is implementation-dependant and should + be provided by the user possibly through some dedicated controller + properties: + componentClass: + description: Class of component that the associated implementation controller + should use to process this command with the appropriate logic + type: string + embeddedResource: + description: Additional free-form configuration for this custom component + that the implementation controller will know how to use + properties: {} + type: object + required: + - componentClass + - embeddedResource + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.image: + description: Allows specifying the definition of an image for outer loop builds + properties: + autoBuild: + description: |- + Defines if the image should be built during startup. + + Default value is `false` + type: boolean + dockerfile: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.image.dockerfile' + imageName: + description: Name of the image for the resulting outerloop build + type: string + required: + - imageName + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.kubernetes: + description: Allows importing into the devworkspace the Kubernetes resources + defined in a given manifest. For example this allows reusing the Kubernetes + definitions used to deploy some runtime components in production. + properties: + deployByDefault: + description: |- + Defines if the component should be deployed during startup. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.kubernetes.endpoints' + type: array + inlined: + description: Inlined manifest + type: string + uri: + description: Location in a file fetched from a uri. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.openshift: + description: Allows importing into the devworkspace the OpenShift resources + defined in a given manifest. For example this allows reusing the OpenShift + definitions used to deploy some runtime components in production. + properties: + deployByDefault: + description: |- + Defines if the component should be deployed during startup. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.openshift.endpoints' + type: array + inlined: + description: Inlined manifest + type: string + uri: + description: Location in a file fetched from a uri. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin: + description: |- + Allows importing a plugin. + + Plugins are mainly imported devfiles that contribute components, commands and events as a consistent single unit. They are defined in either YAML files following the devfile syntax, or as `DevWorkspaceTemplate` Kubernetes Custom Resources + properties: + commands: + description: Overrides of commands encapsulated in a parent devfile or a + plugin. Overriding is done according to K8S strategic merge patch standard + rules. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.commands' + type: array + components: + description: Overrides of components encapsulated in a parent devfile or + a plugin. Overriding is done according to K8S strategic merge patch standard + rules. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components' + type: array + id: + description: Id in a registry that contains a Devfile yaml file + type: string + kubernetes: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.kubernetes' + registryUrl: + description: Registry URL to pull the parent devfile from when using id + in the parent reference. To ensure the parent devfile gets resolved consistently + in different environments, it is recommended to always specify the `registryUrl` + when `id` is used. + type: string + uri: + description: URI Reference of a parent devfile YAML file. It can be a full + URL or a relative URI with the current devfile as the base URI. + type: string + version: + description: Specific stack/sample version to pull the parent devfile from, + when using id in the parent reference. To specify `version`, `id` must + be defined and used as the import reference source. `version` can be either + a specific stack version, or `latest`. If no `version` specified, default + version will be used. + pattern: ^(latest)|(([1-9])\.([0-9]+)\.([0-9]+)(\-[0-9a-z-]+(\.[0-9a-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?)$ + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.volume: + description: Allows specifying the definition of a volume shared by several + other components + properties: + ephemeral: + description: Ephemeral volumes are not stored persistently across restarts. + Defaults to false + type: boolean + size: + description: Size of the volume + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.commands: + properties: + apply: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.commands.items.apply' + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + composite: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.commands.items.composite' + exec: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.commands.items.exec' + id: + description: Mandatory identifier that allows referencing this command in + composite commands, from a parent, or in events. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - id + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components: + properties: + attributes: + description: Map of implementation-dependant free-form YAML attributes. + properties: {} + type: object + container: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.container' + image: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.image' + kubernetes: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.kubernetes' + name: + description: Mandatory name that allows referencing the component from other + elements (such as commands) or from an external devfile that may reference + this component through a parent or a plugin. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + openshift: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.openshift' + volume: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.volume' + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.kubernetes: + description: Reference to a Kubernetes CRD of type DevWorkspaceTemplate + properties: + name: + type: string + namespace: + type: string + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.container: + description: Allows adding and configuring devworkspace-related containers + properties: + annotation: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.container.annotation' + args: + description: |- + The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. + + Defaults to an empty array, meaning use whatever is defined in the image. + items: + type: string + type: array + command: + description: |- + The command to run in the dockerimage component instead of the default one provided in the image. + + Defaults to an empty array, meaning use whatever is defined in the image. + items: + type: string + type: array + cpuLimit: + type: string + cpuRequest: + type: string + dedicatedPod: + description: |- + Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.container.endpoints' + type: array + env: + description: |- + Environment variables used in this container. + + The following variables are reserved and cannot be overridden via env: + + - `$PROJECTS_ROOT` + + - `$PROJECT_SOURCE` + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.container.env' + type: array + image: + type: string + memoryLimit: + type: string + memoryRequest: + type: string + mountSources: + description: |- + Toggles whether or not the project source code should be mounted in the component. + + Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. + type: boolean + sourceMapping: + description: Optional specification of the path in the container where project + sources should be transferred/mounted when `mountSources` is `true`. When + omitted, the default value of /projects is used. + type: string + volumeMounts: + description: List of volumes mounts that should be mounted is this container. + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.container.volumeMounts' + type: array + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.image: + description: Allows specifying the definition of an image for outer loop builds + properties: + autoBuild: + description: |- + Defines if the image should be built during startup. + + Default value is `false` + type: boolean + dockerfile: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.image.dockerfile' + imageName: + description: Name of the image for the resulting outerloop build + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.kubernetes: + description: Allows importing into the devworkspace the Kubernetes resources + defined in a given manifest. For example this allows reusing the Kubernetes + definitions used to deploy some runtime components in production. + properties: + deployByDefault: + description: |- + Defines if the component should be deployed during startup. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.kubernetes.endpoints' + type: array + inlined: + description: Inlined manifest + type: string + uri: + description: Location in a file fetched from a uri. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.openshift: + description: Allows importing into the devworkspace the OpenShift resources + defined in a given manifest. For example this allows reusing the OpenShift + definitions used to deploy some runtime components in production. + properties: + deployByDefault: + description: |- + Defines if the component should be deployed during startup. + + Default value is `false` + type: boolean + endpoints: + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.openshift.endpoints' + type: array + inlined: + description: Inlined manifest + type: string + uri: + description: Location in a file fetched from a uri. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.volume: + description: Allows specifying the definition of a volume shared by several + other components + properties: + ephemeral: + description: Ephemeral volumes are not stored persistently across restarts. + Defaults to false + type: boolean + size: + description: Size of the volume + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.openshift.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.kubernetes.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.image.dockerfile: + description: Allows specifying dockerfile type build + properties: + args: + description: The arguments to supply to the dockerfile build. + items: + type: string + type: array + buildContext: + description: Path of source directory to establish build context. Defaults + to ${PROJECT_SOURCE} in the container + type: string + devfileRegistry: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.image.dockerfile.devfileRegistry' + git: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.image.dockerfile.git' + rootRequired: + description: |- + Specify if a privileged builder pod is required. + + Default value is `false` + type: boolean + uri: + description: URI Reference of a Dockerfile. It can be a full URL or a relative + URI from the current devfile as the base URI. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.image.dockerfile.devfileRegistry: + description: Dockerfile's Devfile Registry source + properties: + id: + description: Id in a devfile registry that contains a Dockerfile. The src + in the OCI registry required for the Dockerfile build will be downloaded + for building the image. + type: string + registryUrl: + description: Devfile Registry URL to pull the Dockerfile from when using + the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets + resolved consistently in different environments, it is recommended to + always specify the `devfileRegistryUrl` when `Id` is used. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.image.dockerfile.git: + description: Dockerfile's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.image.dockerfile.git.checkoutFrom' + fileLocation: + description: Location of the Dockerfile in the Git repository when using + git as Dockerfile src. Defaults to Dockerfile. + type: string + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.image.dockerfile.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.container.annotation: + description: Annotations that should be added to specific resources for this + container + properties: + deployment: + additionalProperties: + type: string + description: Annotations to be added to deployment + type: object + service: + additionalProperties: + type: string + description: Annotations to be added to service + type: object + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.container.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.container.env: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.components.items.container.volumeMounts: + description: Volume that should be mounted to a component container + properties: + name: + description: The volume mount name is the name of an existing `Volume` component. + If several containers mount the same volume name then they will reuse + the same volume and will be able to access to the same files. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: The path in the component container where the volume should + be mounted. If not path is mentioned, default path is the is `/`. + type: string + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.commands.items.apply: + description: |- + Command that consists in applying a given component definition, typically bound to a devworkspace event. + + For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. + + When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. + properties: + component: + description: Describes component that will be applied + type: string + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.commands.items.apply.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.commands.items.composite: + description: Composite command that allows executing several sub-commands either + sequentially or concurrently + properties: + commands: + description: The commands that comprise this composite command + items: + type: string + type: array + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.commands.items.composite.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + parallel: + description: Indicates if the sub-commands should be executed concurrently + type: boolean + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.commands.items.exec: + description: CLI Command executed in an existing component container + properties: + commandLine: + description: |- + The actual command-line string + + Special variables that can be used: + + - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. + + - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one. + type: string + component: + description: Describes component to which given action relates + type: string + env: + description: Optional list of environment variables that have to be set + before running the command + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.commands.items.exec.env' + type: array + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.commands.items.exec.group' + hotReloadCapable: + description: |- + Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. + + Default value is `false` + type: boolean + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + workingDir: + description: |- + Working directory where the command should be executed + + Special variables that can be used: + + - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. + + - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.commands.items.exec.env: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.commands.items.exec.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.commands.items.composite.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.plugin.commands.items.apply.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.openshift.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + default: public + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + default: http + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + - targetPort + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.kubernetes.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + default: public + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + default: http + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + - targetPort + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.image.dockerfile: + description: Allows specifying dockerfile type build + properties: + args: + description: The arguments to supply to the dockerfile build. + items: + type: string + type: array + buildContext: + description: Path of source directory to establish build context. Defaults + to ${PROJECT_SOURCE} in the container + type: string + devfileRegistry: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.image.dockerfile.devfileRegistry' + git: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.image.dockerfile.git' + rootRequired: + description: |- + Specify if a privileged builder pod is required. + + Default value is `false` + type: boolean + uri: + description: URI Reference of a Dockerfile. It can be a full URL or a relative + URI from the current devfile as the base URI. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.image.dockerfile.devfileRegistry: + description: Dockerfile's Devfile Registry source + properties: + id: + description: Id in a devfile registry that contains a Dockerfile. The src + in the OCI registry required for the Dockerfile build will be downloaded + for building the image. + type: string + registryUrl: + description: Devfile Registry URL to pull the Dockerfile from when using + the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets + resolved consistently in different environments, it is recommended to + always specify the `devfileRegistryUrl` when `Id` is used. + type: string + required: + - id + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.image.dockerfile.git: + description: Dockerfile's Git source + properties: + checkoutFrom: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.components.items.image.dockerfile.git.checkoutFrom' + fileLocation: + description: Location of the Dockerfile in the Git repository when using + git as Dockerfile src. Defaults to Dockerfile. + type: string + remotes: + additionalProperties: + type: string + description: The remotes map which should be initialized in the git project. + Projects must have at least one remote configured while StarterProjects + & Image Component's Git source can only have at most one remote configured. + type: object + required: + - remotes + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.image.dockerfile.git.checkoutFrom: + description: Defines from what the project should be checked out. Required if + there are more than one remote configured + properties: + remote: + description: The remote name should be used as init. Required if there are + more than one remote configured + type: string + revision: + description: The revision to checkout from. Should be branch name, tag or + commit id. Default branch is used if missing or specified revision is + not found. + type: string + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.container.annotation: + description: Annotations that should be added to specific resources for this + container + properties: + deployment: + additionalProperties: + type: string + description: Annotations to be added to deployment + type: object + service: + additionalProperties: + type: string + description: Annotations to be added to service + type: object + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.container.endpoints: + properties: + annotation: + additionalProperties: + type: string + description: Annotations to be added to Kubernetes Ingress or Openshift + Route + type: object + attributes: + description: |- + Map of implementation-dependant string-based free-form attributes. + + Examples of Che-specific attributes: + - cookiesAuthEnabled: "true" / "false", + - type: "terminal" / "ide" / "ide-dev", + properties: {} + type: object + exposure: + default: public + description: |- + Describes how the endpoint should be exposed on the network. + - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. + - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. + - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. + + Default value is `public` + enum: + - public + - internal + - none + type: string + name: + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: Path of the endpoint URL + type: string + protocol: + default: http + description: |- + Describes the application and transport protocols of the traffic that will go through this endpoint. + - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. + - `https`: Endpoint will have `https` traffic, typically on a TCP connection. + - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. + - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. + - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. + - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. + + Default value is `http` + enum: + - http + - https + - ws + - wss + - tcp + - udp + type: string + secure: + description: Describes whether the endpoint should be secured and protected + by some authentication process. This requires a protocol of `https` or + `wss`. + type: boolean + targetPort: + description: Port number to be used within the container component. The + same port cannot be used by two different container components. + type: integer + required: + - name + - targetPort + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.container.env: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + v1alpha2.DevWorkspaceTemplate.spec.components.items.container.volumeMounts: + description: Volume that should be mounted to a component container + properties: + name: + description: The volume mount name is the name of an existing `Volume` component. + If several containers mount the same volume name then they will reuse + the same volume and will be able to access to the same files. + maxLength: 63 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + path: + description: The path in the component container where the volume should + be mounted. If not path is mentioned, default path is the is `/`. + type: string + required: + - name + type: object + v1alpha2.DevWorkspaceTemplate.spec.commands.items.apply: + description: |- + Command that consists in applying a given component definition, typically bound to a devworkspace event. + + For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. + + When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. + properties: + component: + description: Describes component that will be applied + type: string + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.commands.items.apply.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + required: + - component + type: object + v1alpha2.DevWorkspaceTemplate.spec.commands.items.composite: + description: Composite command that allows executing several sub-commands either + sequentially or concurrently + properties: + commands: + description: The commands that comprise this composite command + items: + type: string + type: array + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.commands.items.composite.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + parallel: + description: Indicates if the sub-commands should be executed concurrently + type: boolean + type: object + v1alpha2.DevWorkspaceTemplate.spec.commands.items.custom: + description: Custom command whose logic is implementation-dependant and should + be provided by the user possibly through some dedicated plugin + properties: + commandClass: + description: Class of command that the associated implementation component + should use to process this command with the appropriate logic + type: string + embeddedResource: + description: Additional free-form configuration for this custom command + that the implementation component will know how to use + properties: {} + type: object + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.commands.items.custom.group' + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + required: + - commandClass + - embeddedResource + type: object + v1alpha2.DevWorkspaceTemplate.spec.commands.items.exec: + description: CLI Command executed in an existing component container + properties: + commandLine: + description: |- + The actual command-line string + + Special variables that can be used: + + - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. + + - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one. + type: string + component: + description: Describes component to which given action relates + type: string + env: + description: Optional list of environment variables that have to be set + before running the command + items: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.commands.items.exec.env' + type: array + group: + $ref: '#/components/schemas/v1alpha2.DevWorkspaceTemplate.spec.commands.items.exec.group' + hotReloadCapable: + description: |- + Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. + + Default value is `false` + type: boolean + label: + description: Optional label that provides a label for this command to be + used in Editor UI menus for example + type: string + workingDir: + description: |- + Working directory where the command should be executed + + Special variables that can be used: + + - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. + + - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one. + type: string + required: + - commandLine + - component + type: object + v1alpha2.DevWorkspaceTemplate.spec.commands.items.exec.env: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + v1alpha2.DevWorkspaceTemplate.spec.commands.items.exec.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + required: + - kind + type: object + v1alpha2.DevWorkspaceTemplate.spec.commands.items.custom.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + required: + - kind + type: object + v1alpha2.DevWorkspaceTemplate.spec.commands.items.composite.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + required: + - kind + type: object + v1alpha2.DevWorkspaceTemplate.spec.commands.items.apply.group: + description: Defines the group this command is part of + properties: + isDefault: + description: Identifies the default command for a given group kind + type: boolean + kind: + description: Kind of group the command is part of + enum: + - build + - run + - test + - debug + - deploy + type: string + required: + - kind + type: object + v1alpha2.DevWorkspaceTemplate.metadata.managedFields: + 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. + properties: {} + type: object + 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' + format: date-time + type: string + type: object + v1alpha2.DevWorkspaceTemplate.metadata.ownerReferences: + 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. + 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 + required: + - apiVersion + - kind + - name + - uid + type: object + diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..eb26ba9 --- /dev/null +++ b/build.gradle @@ -0,0 +1,113 @@ +apply plugin: 'idea' +apply plugin: 'eclipse' +apply plugin: 'java' + +group = 'io.github.che-incubator' +version = '1.0-SNAPSHOT' + +buildscript { + repositories { + maven { url "https://repo1.maven.org/maven2" } + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:2.3.+' + classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' + } +} + +repositories { + jcenter() +} +sourceSets { + main.java.srcDirs = ['src/main/java'] +} + +if(hasProperty('target') && target == 'android') { + + apply plugin: 'com.android.library' + apply plugin: 'com.github.dcendents.android-maven' + + android { + compileSdkVersion 25 + buildToolsVersion '25.0.2' + defaultConfig { + minSdkVersion 14 + targetSdkVersion 25 + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + // Rename the aar correctly + libraryVariants.all { variant -> + variant.outputs.each { output -> + def outputFile = output.outputFile + if (outputFile != null && outputFile.name.endsWith('.aar')) { + def fileName = "${project.name}-${variant.baseName}-${version}.aar" + output.outputFile = new File(outputFile.parent, fileName) + } + } + } + + dependencies { + provided 'javax.annotation:javax.annotation-api:1.3.2' + } + } + + afterEvaluate { + android.libraryVariants.all { variant -> + def task = project.tasks.create "jar${variant.name.capitalize()}", Jar + task.description = "Create jar artifact for ${variant.name}" + task.dependsOn variant.javaCompile + task.from variant.javaCompile.destinationDir + task.destinationDir = project.file("${project.buildDir}/outputs/jar") + task.archiveName = "${project.name}-${variant.baseName}-${version}.jar" + artifacts.add('archives', task); + } + } + + task sourcesJar(type: Jar) { + from android.sourceSets.main.java.srcDirs + classifier = 'sources' + } + + artifacts { + archives sourcesJar + } + +} else { + + apply plugin: 'java' + apply plugin: 'maven' + + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + + install { + repositories.mavenInstaller { + pom.artifactId = 'devfile-java-client' + } + } + + task execute(type:JavaExec) { + main = System.getProperty('mainClass') + classpath = sourceSets.main.runtimeClasspath + } +} + +dependencies { + compile 'io.swagger:swagger-annotations:1.5.24' + compile "com.google.code.findbugs:jsr305:3.0.2" + compile 'com.squareup.okhttp3:okhttp:3.14.7' + compile 'com.squareup.okhttp3:logging-interceptor:3.14.7' + compile 'com.google.code.gson:gson:2.8.6' + compile 'io.gsonfire:gson-fire:1.8.4' + compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.10' + testCompile 'junit:junit:4.13' +} + +javadoc { + options.tags = [ "http.response.details:a:Http Response Details" ] +} diff --git a/build.sbt b/build.sbt new file mode 100644 index 0000000..7b349c3 --- /dev/null +++ b/build.sbt @@ -0,0 +1,23 @@ +lazy val root = (project in file(".")). + settings( + organization := "io.github.che-incubator", + name := "devfile-java-client", + version := "1.0-SNAPSHOT", + scalaVersion := "2.11.4", + scalacOptions ++= Seq("-feature"), + javacOptions in compile ++= Seq("-Xlint:deprecation"), + publishArtifact in (Compile, packageDoc) := false, + resolvers += Resolver.mavenLocal, + libraryDependencies ++= Seq( + "io.swagger" % "swagger-annotations" % "1.5.24", + "com.squareup.okhttp3" % "okhttp" % "3.14.7", + "com.squareup.okhttp3" % "logging-interceptor" % "3.14.7", + "com.google.code.gson" % "gson" % "2.8.6", + "org.apache.commons" % "commons-lang3" % "3.10", + "io.gsonfire" % "gson-fire" % "1.8.3" % "compile", + "javax.annotation" % "javax.annotation-api" % "1.3.2" % "compile", + "com.google.code.findbugs" % "jsr305" % "3.0.2" % "compile", + "junit" % "junit" % "4.13" % "test", + "com.novocode" % "junit-interface" % "0.10" % "test" + ) + ) diff --git a/docs/V1alpha2DevWorkspace.md b/docs/V1alpha2DevWorkspace.md new file mode 100644 index 0000000..36f3ebd --- /dev/null +++ b/docs/V1alpha2DevWorkspace.md @@ -0,0 +1,17 @@ + + +# V1alpha2DevWorkspace + +DevWorkspace is the Schema for the devworkspaces API +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**apiVersion** | **String** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] +**kind** | **String** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] +**metadata** | [**V1alpha2DevWorkspaceMetadata**](V1alpha2DevWorkspaceMetadata.md) | | [optional] +**spec** | [**V1alpha2DevWorkspaceSpec**](V1alpha2DevWorkspaceSpec.md) | | [optional] +**status** | [**V1alpha2DevWorkspaceStatus**](V1alpha2DevWorkspaceStatus.md) | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceMetadata.md b/docs/V1alpha2DevWorkspaceMetadata.md new file mode 100644 index 0000000..5471317 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceMetadata.md @@ -0,0 +1,28 @@ + + +# V1alpha2DevWorkspaceMetadata + +ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotations** | **Map<String, String>** | Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations | [optional] +**clusterName** | **String** | The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. | [optional] +**creationTimestamp** | [**OffsetDateTime**](OffsetDateTime.md) | CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | [optional] +**deletionGracePeriodSeconds** | **Long** | Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. | [optional] +**deletionTimestamp** | [**OffsetDateTime**](OffsetDateTime.md) | DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | [optional] +**finalizers** | **List<String>** | Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list. | [optional] +**generateName** | **String** | GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency | [optional] +**generation** | **Long** | A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. | [optional] +**labels** | **Map<String, String>** | Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels | [optional] +**managedFields** | [**List<V1alpha2DevWorkspaceMetadataManagedFields>**](V1alpha2DevWorkspaceMetadataManagedFields.md) | ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object. | [optional] +**name** | **String** | Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names | [optional] +**namespace** | **String** | Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces | [optional] +**ownerReferences** | [**List<V1alpha2DevWorkspaceMetadataOwnerReferences>**](V1alpha2DevWorkspaceMetadataOwnerReferences.md) | List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller. | [optional] +**resourceVersion** | **String** | An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency | [optional] +**selfLink** | **String** | SelfLink is a URL representing this object. Populated by the system. Read-only. DEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release. | [optional] +**uid** | **String** | UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceMetadataManagedFields.md b/docs/V1alpha2DevWorkspaceMetadataManagedFields.md new file mode 100644 index 0000000..45ad9e0 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceMetadataManagedFields.md @@ -0,0 +1,18 @@ + + +# V1alpha2DevWorkspaceMetadataManagedFields + +ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**apiVersion** | **String** | 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. | [optional] +**fieldsType** | **String** | FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: \"FieldsV1\" | [optional] +**fieldsV1** | [**Object**](.md) | FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type. | [optional] +**manager** | **String** | Manager is an identifier of the workflow managing these fields. | [optional] +**operation** | **String** | Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'. | [optional] +**time** | [**OffsetDateTime**](OffsetDateTime.md) | Time is timestamp of when these fields were set. It should always be empty if Operation is 'Apply' | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceMetadataOwnerReferences.md b/docs/V1alpha2DevWorkspaceMetadataOwnerReferences.md new file mode 100644 index 0000000..14bed8c --- /dev/null +++ b/docs/V1alpha2DevWorkspaceMetadataOwnerReferences.md @@ -0,0 +1,18 @@ + + +# V1alpha2DevWorkspaceMetadataOwnerReferences + +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. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**apiVersion** | **String** | API version of the referent. | +**blockOwnerDeletion** | **Boolean** | If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. | [optional] +**controller** | **Boolean** | If true, this reference points to the managing controller. | [optional] +**kind** | **String** | Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | +**name** | **String** | Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names | +**uid** | **String** | UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids | + + + diff --git a/docs/V1alpha2DevWorkspaceSpec.md b/docs/V1alpha2DevWorkspaceSpec.md new file mode 100644 index 0000000..9920110 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpec.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceSpec + +DevWorkspaceSpec defines the desired state of DevWorkspace +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**routingClass** | **String** | | [optional] +**started** | **Boolean** | | +**template** | [**V1alpha2DevWorkspaceSpecTemplate**](V1alpha2DevWorkspaceSpecTemplate.md) | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplate.md b/docs/V1alpha2DevWorkspaceSpecTemplate.md new file mode 100644 index 0000000..4b4d878 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplate.md @@ -0,0 +1,20 @@ + + +# V1alpha2DevWorkspaceSpecTemplate + +Structure of the devworkspace. This is also the specification of a devworkspace template. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**commands** | [**List<V1alpha2DevWorkspaceSpecTemplateCommands>**](V1alpha2DevWorkspaceSpecTemplateCommands.md) | Predefined, ready-to-use, devworkspace-related commands | [optional] +**components** | [**List<V1alpha2DevWorkspaceSpecTemplateComponents>**](V1alpha2DevWorkspaceSpecTemplateComponents.md) | List of the devworkspace components, such as editor and plugins, user-provided containers, or other types of components | [optional] +**events** | [**V1alpha2DevWorkspaceSpecTemplateEvents**](V1alpha2DevWorkspaceSpecTemplateEvents.md) | | [optional] +**parent** | [**V1alpha2DevWorkspaceSpecTemplateParent**](V1alpha2DevWorkspaceSpecTemplateParent.md) | | [optional] +**projects** | [**List<V1alpha2DevWorkspaceSpecTemplateProjects>**](V1alpha2DevWorkspaceSpecTemplateProjects.md) | Projects worked on in the devworkspace, containing names and sources locations | [optional] +**starterProjects** | [**List<V1alpha2DevWorkspaceSpecTemplateStarterProjects>**](V1alpha2DevWorkspaceSpecTemplateStarterProjects.md) | StarterProjects is a project that can be used as a starting point when bootstrapping new projects | [optional] +**variables** | **Map<String, String>** | Map of key-value variables used for string replacement in the devfile. Values can be referenced via {{variable-key}} to replace the corresponding value in string fields in the devfile. Replacement cannot be used for - schemaVersion, metadata, parent source - element identifiers, e.g. command id, component name, endpoint name, project name - references to identifiers, e.g. in events, a command's component, container's volume mount name - string enums, e.g. command group kind, endpoint exposure | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateCommands.md b/docs/V1alpha2DevWorkspaceSpecTemplateCommands.md new file mode 100644 index 0000000..1267423 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateCommands.md @@ -0,0 +1,17 @@ + + +# V1alpha2DevWorkspaceSpecTemplateCommands + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**apply** | [**V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply**](V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply.md) | | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**composite** | [**V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite**](V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite.md) | | [optional] +**custom** | [**V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom**](V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom.md) | | [optional] +**exec** | [**V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec**](V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec.md) | | [optional] +**id** | **String** | Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events. | + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply.md b/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply.md new file mode 100644 index 0000000..3af9856 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply + +Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | **String** | Describes component that will be applied | +**group** | [**V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup**](V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup.md b/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup.md new file mode 100644 index 0000000..39201fd --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite.md b/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite.md new file mode 100644 index 0000000..6559111 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite + +Composite command that allows executing several sub-commands either sequentially or concurrently +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commands** | **List<String>** | The commands that comprise this composite command | [optional] +**group** | [**V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup**](V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] +**parallel** | **Boolean** | Indicates if the sub-commands should be executed concurrently | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup.md b/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup.md new file mode 100644 index 0000000..59e4fa5 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom.md b/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom.md new file mode 100644 index 0000000..3956ed7 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom + +Custom command whose logic is implementation-dependant and should be provided by the user possibly through some dedicated plugin +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commandClass** | **String** | Class of command that the associated implementation component should use to process this command with the appropriate logic | +**embeddedResource** | [**Object**](.md) | Additional free-form configuration for this custom command that the implementation component will know how to use | +**group** | [**V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup**](V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup.md b/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup.md new file mode 100644 index 0000000..c4a27b4 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec.md b/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec.md new file mode 100644 index 0000000..4449834 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec.md @@ -0,0 +1,19 @@ + + +# V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec + +CLI Command executed in an existing component container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commandLine** | **String** | The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. | +**component** | **String** | Describes component to which given action relates | +**env** | [**List<V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv>**](V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv.md) | Optional list of environment variables that have to be set before running the command | [optional] +**group** | [**V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup**](V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup.md) | | [optional] +**hotReloadCapable** | **Boolean** | Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false` | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] +**workingDir** | **String** | Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv.md b/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv.md new file mode 100644 index 0000000..c95915d --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**value** | **String** | | + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup.md b/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup.md new file mode 100644 index 0000000..4a5651d --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponents.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponents.md new file mode 100644 index 0000000..f15cd94 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponents.md @@ -0,0 +1,20 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponents + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**container** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.md) | | [optional] +**custom** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom.md) | | [optional] +**image** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage.md) | | [optional] +**kubernetes** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes.md) | | [optional] +**name** | **String** | Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin. | +**openshift** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift.md) | | [optional] +**plugin** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin.md) | | [optional] +**volume** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume.md) | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.md new file mode 100644 index 0000000..631e2cd --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer + +Allows adding and configuring devworkspace-related containers +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation.md) | | [optional] +**args** | **List<String>** | The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image. | [optional] +**command** | **List<String>** | The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image. | [optional] +**cpuLimit** | **String** | | [optional] +**cpuRequest** | **String** | | [optional] +**dedicatedPod** | **Boolean** | Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints>**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints.md) | | [optional] +**env** | [**List<V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv>**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv.md) | Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE` | [optional] +**image** | **String** | | +**memoryLimit** | **String** | | [optional] +**memoryRequest** | **String** | | [optional] +**mountSources** | **Boolean** | Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. | [optional] +**sourceMapping** | **String** | Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used. | [optional] +**volumeMounts** | [**List<V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts>**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts.md) | List of volumes mounts that should be mounted is this container. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation.md new file mode 100644 index 0000000..087ae77 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation + +Annotations that should be added to specific resources for this container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployment** | **Map<String, String>** | Annotations to be added to deployment | [optional] +**service** | **Map<String, String>** | Annotations to be added to service | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints.md new file mode 100644 index 0000000..2dbfd7a --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv.md new file mode 100644 index 0000000..6eac207 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**value** | **String** | | + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts.md new file mode 100644 index 0000000..7c77c28 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts + +Volume that should be mounted to a component container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files. | +**path** | **String** | The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/<name>`. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom.md new file mode 100644 index 0000000..b04be38 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom + +Custom component whose logic is implementation-dependant and should be provided by the user possibly through some dedicated controller +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**componentClass** | **String** | Class of component that the associated implementation controller should use to process this command with the appropriate logic | +**embeddedResource** | [**Object**](.md) | Additional free-form configuration for this custom component that the implementation controller will know how to use | + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage.md new file mode 100644 index 0000000..a95591c --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage + +Allows specifying the definition of an image for outer loop builds +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**autoBuild** | **Boolean** | Defines if the image should be built during startup. Default value is `false` | [optional] +**dockerfile** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile.md) | | [optional] +**imageName** | **String** | Name of the image for the resulting outerloop build | + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile.md new file mode 100644 index 0000000..5e910e3 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile.md @@ -0,0 +1,18 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile + +Allows specifying dockerfile type build +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**args** | **List<String>** | The arguments to supply to the dockerfile build. | [optional] +**buildContext** | **String** | Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container | [optional] +**devfileRegistry** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry.md) | | [optional] +**git** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit.md) | | [optional] +**rootRequired** | **Boolean** | Specify if a privileged builder pod is required. Default value is `false` | [optional] +**uri** | **String** | URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry.md new file mode 100644 index 0000000..f03ed41 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry + +Dockerfile's Devfile Registry source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image. | +**registryUrl** | **String** | Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit.md new file mode 100644 index 0000000..bea0916 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit + +Dockerfile's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom.md) | | [optional] +**fileLocation** | **String** | Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile. | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom.md new file mode 100644 index 0000000..6affa08 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes.md new file mode 100644 index 0000000..6da47f0 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes + +Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployByDefault** | **Boolean** | Defines if the component should be deployed during startup. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints>**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints.md) | | [optional] +**inlined** | **String** | Inlined manifest | [optional] +**uri** | **String** | Location in a file fetched from a uri. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints.md new file mode 100644 index 0000000..51dac67 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift.md new file mode 100644 index 0000000..b496853 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift + +Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployByDefault** | **Boolean** | Defines if the component should be deployed during startup. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints>**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints.md) | | [optional] +**inlined** | **String** | Inlined manifest | [optional] +**uri** | **String** | Location in a file fetched from a uri. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints.md new file mode 100644 index 0000000..5a86e3b --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin.md new file mode 100644 index 0000000..b9805e8 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin.md @@ -0,0 +1,19 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin + +Allows importing a plugin. Plugins are mainly imported devfiles that contribute components, commands and events as a consistent single unit. They are defined in either YAML files following the devfile syntax, or as `DevWorkspaceTemplate` Kubernetes Custom Resources +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commands** | [**List<V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands>**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands.md) | Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**components** | [**List<V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents>**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents.md) | Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**id** | **String** | Id in a registry that contains a Devfile yaml file | [optional] +**kubernetes** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes.md) | | [optional] +**registryUrl** | **String** | Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used. | [optional] +**uri** | **String** | URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI. | [optional] +**version** | **String** | Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands.md new file mode 100644 index 0000000..c582dc0 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**apply** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply.md) | | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**composite** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite.md) | | [optional] +**exec** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec.md) | | [optional] +**id** | **String** | Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events. | + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply.md new file mode 100644 index 0000000..0621266 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply + +Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | **String** | Describes component that will be applied | [optional] +**group** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup.md new file mode 100644 index 0000000..1a51be2 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite.md new file mode 100644 index 0000000..6af9a3c --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite + +Composite command that allows executing several sub-commands either sequentially or concurrently +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commands** | **List<String>** | The commands that comprise this composite command | [optional] +**group** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] +**parallel** | **Boolean** | Indicates if the sub-commands should be executed concurrently | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup.md new file mode 100644 index 0000000..3b4b922 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec.md new file mode 100644 index 0000000..bb9298c --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec.md @@ -0,0 +1,19 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec + +CLI Command executed in an existing component container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commandLine** | **String** | The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. | [optional] +**component** | **String** | Describes component to which given action relates | [optional] +**env** | [**List<V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv>**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv.md) | Optional list of environment variables that have to be set before running the command | [optional] +**group** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup.md) | | [optional] +**hotReloadCapable** | **Boolean** | Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false` | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] +**workingDir** | **String** | Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv.md new file mode 100644 index 0000000..ad3ebbb --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**value** | **String** | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup.md new file mode 100644 index 0000000..750864f --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents.md new file mode 100644 index 0000000..cd70160 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents.md @@ -0,0 +1,18 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**container** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.md) | | [optional] +**image** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage.md) | | [optional] +**kubernetes** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes.md) | | [optional] +**name** | **String** | Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin. | +**openshift** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift.md) | | [optional] +**volume** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume.md) | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.md new file mode 100644 index 0000000..20fab19 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer + +Allows adding and configuring devworkspace-related containers +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation.md) | | [optional] +**args** | **List<String>** | The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image. | [optional] +**command** | **List<String>** | The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image. | [optional] +**cpuLimit** | **String** | | [optional] +**cpuRequest** | **String** | | [optional] +**dedicatedPod** | **Boolean** | Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints>**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints.md) | | [optional] +**env** | [**List<V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv>**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv.md) | Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE` | [optional] +**image** | **String** | | [optional] +**memoryLimit** | **String** | | [optional] +**memoryRequest** | **String** | | [optional] +**mountSources** | **Boolean** | Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. | [optional] +**sourceMapping** | **String** | Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used. | [optional] +**volumeMounts** | [**List<V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts>**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts.md) | List of volumes mounts that should be mounted is this container. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation.md new file mode 100644 index 0000000..589dcc0 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation + +Annotations that should be added to specific resources for this container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployment** | **Map<String, String>** | Annotations to be added to deployment | [optional] +**service** | **Map<String, String>** | Annotations to be added to service | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints.md new file mode 100644 index 0000000..0a8d362 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv.md new file mode 100644 index 0000000..eb2a2a2 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**value** | **String** | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts.md new file mode 100644 index 0000000..32b1060 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts + +Volume that should be mounted to a component container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files. | +**path** | **String** | The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/<name>`. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage.md new file mode 100644 index 0000000..4d60938 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage + +Allows specifying the definition of an image for outer loop builds +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**autoBuild** | **Boolean** | Defines if the image should be built during startup. Default value is `false` | [optional] +**dockerfile** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile.md) | | [optional] +**imageName** | **String** | Name of the image for the resulting outerloop build | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile.md new file mode 100644 index 0000000..4d1d1e9 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile.md @@ -0,0 +1,18 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile + +Allows specifying dockerfile type build +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**args** | **List<String>** | The arguments to supply to the dockerfile build. | [optional] +**buildContext** | **String** | Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container | [optional] +**devfileRegistry** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.md) | | [optional] +**git** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit.md) | | [optional] +**rootRequired** | **Boolean** | Specify if a privileged builder pod is required. Default value is `false` | [optional] +**uri** | **String** | URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.md new file mode 100644 index 0000000..ffa106b --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry + +Dockerfile's Devfile Registry source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image. | [optional] +**registryUrl** | **String** | Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit.md new file mode 100644 index 0000000..f9cd97e --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit + +Dockerfile's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.md) | | [optional] +**fileLocation** | **String** | Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile. | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.md new file mode 100644 index 0000000..8eb58ac --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes.md new file mode 100644 index 0000000..143ac3d --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes + +Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployByDefault** | **Boolean** | Defines if the component should be deployed during startup. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints>**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints.md) | | [optional] +**inlined** | **String** | Inlined manifest | [optional] +**uri** | **String** | Location in a file fetched from a uri. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints.md new file mode 100644 index 0000000..261ec00 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift.md new file mode 100644 index 0000000..b2d5bfe --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift + +Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployByDefault** | **Boolean** | Defines if the component should be deployed during startup. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints>**](V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints.md) | | [optional] +**inlined** | **String** | Inlined manifest | [optional] +**uri** | **String** | Location in a file fetched from a uri. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints.md new file mode 100644 index 0000000..5823564 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume.md new file mode 100644 index 0000000..3a3a630 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume + +Allows specifying the definition of a volume shared by several other components +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ephemeral** | **Boolean** | Ephemeral volumes are not stored persistently across restarts. Defaults to false | [optional] +**size** | **String** | Size of the volume | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes.md new file mode 100644 index 0000000..c4d287d --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes + +Reference to a Kubernetes CRD of type DevWorkspaceTemplate +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**namespace** | **String** | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume.md b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume.md new file mode 100644 index 0000000..5adcf1b --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume + +Allows specifying the definition of a volume shared by several other components +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ephemeral** | **Boolean** | Ephemeral volumes are not stored persistently across restarts. Defaults to false | [optional] +**size** | **String** | Size of the volume | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateEvents.md b/docs/V1alpha2DevWorkspaceSpecTemplateEvents.md new file mode 100644 index 0000000..88a43f6 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateEvents.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceSpecTemplateEvents + +Bindings of commands to events. Each command is referred-to by its name. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**postStart** | **List<String>** | IDs of commands that should be executed after the devworkspace is completely started. In the case of Che-Theia, these commands should be executed after all plugins and extensions have started, including project cloning. This means that those commands are not triggered until the user opens the IDE in his browser. | [optional] +**postStop** | **List<String>** | IDs of commands that should be executed after stopping the devworkspace. | [optional] +**preStart** | **List<String>** | IDs of commands that should be executed before the devworkspace start. Kubernetes-wise, these commands would typically be executed in init containers of the devworkspace POD. | [optional] +**preStop** | **List<String>** | IDs of commands that should be executed before stopping the devworkspace. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParent.md b/docs/V1alpha2DevWorkspaceSpecTemplateParent.md new file mode 100644 index 0000000..2774936 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParent.md @@ -0,0 +1,23 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParent + +Parent devworkspace template +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Overrides of attributes encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**commands** | [**List<V1alpha2DevWorkspaceSpecTemplateParentCommands>**](V1alpha2DevWorkspaceSpecTemplateParentCommands.md) | Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**components** | [**List<V1alpha2DevWorkspaceSpecTemplateParentComponents>**](V1alpha2DevWorkspaceSpecTemplateParentComponents.md) | Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**id** | **String** | Id in a registry that contains a Devfile yaml file | [optional] +**kubernetes** | [**V1alpha2DevWorkspaceSpecTemplateParentKubernetes**](V1alpha2DevWorkspaceSpecTemplateParentKubernetes.md) | | [optional] +**projects** | [**List<V1alpha2DevWorkspaceSpecTemplateParentProjects>**](V1alpha2DevWorkspaceSpecTemplateParentProjects.md) | Overrides of projects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**registryUrl** | **String** | Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used. | [optional] +**starterProjects** | [**List<V1alpha2DevWorkspaceSpecTemplateParentStarterProjects>**](V1alpha2DevWorkspaceSpecTemplateParentStarterProjects.md) | Overrides of starterProjects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**uri** | **String** | URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI. | [optional] +**variables** | **Map<String, String>** | Overrides of variables encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**version** | **String** | Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentCommands.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentCommands.md new file mode 100644 index 0000000..278d01a --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentCommands.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentCommands + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**apply** | [**V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply**](V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply.md) | | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**composite** | [**V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite**](V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite.md) | | [optional] +**exec** | [**V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec**](V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec.md) | | [optional] +**id** | **String** | Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events. | + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply.md new file mode 100644 index 0000000..0ffe7e7 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply + +Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | **String** | Describes component that will be applied | [optional] +**group** | [**V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup**](V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup.md new file mode 100644 index 0000000..e4087c6 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite.md new file mode 100644 index 0000000..507133a --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite + +Composite command that allows executing several sub-commands either sequentially or concurrently +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commands** | **List<String>** | The commands that comprise this composite command | [optional] +**group** | [**V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup**](V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] +**parallel** | **Boolean** | Indicates if the sub-commands should be executed concurrently | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup.md new file mode 100644 index 0000000..76c5457 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec.md new file mode 100644 index 0000000..dd66afd --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec.md @@ -0,0 +1,19 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec + +CLI Command executed in an existing component container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commandLine** | **String** | The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. | [optional] +**component** | **String** | Describes component to which given action relates | [optional] +**env** | [**List<V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv>**](V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv.md) | Optional list of environment variables that have to be set before running the command | [optional] +**group** | [**V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup**](V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup.md) | | [optional] +**hotReloadCapable** | **Boolean** | Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false` | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] +**workingDir** | **String** | Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv.md new file mode 100644 index 0000000..11c69d2 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**value** | **String** | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup.md new file mode 100644 index 0000000..59f2aa8 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponents.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponents.md new file mode 100644 index 0000000..8e4d25d --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponents.md @@ -0,0 +1,19 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponents + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**container** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.md) | | [optional] +**image** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage.md) | | [optional] +**kubernetes** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes.md) | | [optional] +**name** | **String** | Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin. | +**openshift** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift.md) | | [optional] +**plugin** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin.md) | | [optional] +**volume** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume.md) | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.md new file mode 100644 index 0000000..fe8a05d --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer + +Allows adding and configuring devworkspace-related containers +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation.md) | | [optional] +**args** | **List<String>** | The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image. | [optional] +**command** | **List<String>** | The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image. | [optional] +**cpuLimit** | **String** | | [optional] +**cpuRequest** | **String** | | [optional] +**dedicatedPod** | **Boolean** | Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints>**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints.md) | | [optional] +**env** | [**List<V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv>**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv.md) | Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE` | [optional] +**image** | **String** | | [optional] +**memoryLimit** | **String** | | [optional] +**memoryRequest** | **String** | | [optional] +**mountSources** | **Boolean** | Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. | [optional] +**sourceMapping** | **String** | Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used. | [optional] +**volumeMounts** | [**List<V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts>**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts.md) | List of volumes mounts that should be mounted is this container. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation.md new file mode 100644 index 0000000..5f6407a --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation + +Annotations that should be added to specific resources for this container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployment** | **Map<String, String>** | Annotations to be added to deployment | [optional] +**service** | **Map<String, String>** | Annotations to be added to service | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints.md new file mode 100644 index 0000000..59d730b --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv.md new file mode 100644 index 0000000..d7515ab --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**value** | **String** | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts.md new file mode 100644 index 0000000..b9f93f1 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts + +Volume that should be mounted to a component container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files. | +**path** | **String** | The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/<name>`. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage.md new file mode 100644 index 0000000..aeffdfc --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage + +Allows specifying the definition of an image for outer loop builds +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**autoBuild** | **Boolean** | Defines if the image should be built during startup. Default value is `false` | [optional] +**dockerfile** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile.md) | | [optional] +**imageName** | **String** | Name of the image for the resulting outerloop build | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile.md new file mode 100644 index 0000000..242fc8e --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile.md @@ -0,0 +1,18 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile + +Allows specifying dockerfile type build +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**args** | **List<String>** | The arguments to supply to the dockerfile build. | [optional] +**buildContext** | **String** | Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container | [optional] +**devfileRegistry** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry.md) | | [optional] +**git** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit.md) | | [optional] +**rootRequired** | **Boolean** | Specify if a privileged builder pod is required. Default value is `false` | [optional] +**uri** | **String** | URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry.md new file mode 100644 index 0000000..e9901df --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry + +Dockerfile's Devfile Registry source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image. | [optional] +**registryUrl** | **String** | Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit.md new file mode 100644 index 0000000..2c8a4bd --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit + +Dockerfile's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom.md) | | [optional] +**fileLocation** | **String** | Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile. | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom.md new file mode 100644 index 0000000..2ce2f03 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes.md new file mode 100644 index 0000000..e08a0dc --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes + +Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployByDefault** | **Boolean** | Defines if the component should be deployed during startup. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints>**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints.md) | | [optional] +**inlined** | **String** | Inlined manifest | [optional] +**uri** | **String** | Location in a file fetched from a uri. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints.md new file mode 100644 index 0000000..743a38d --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift.md new file mode 100644 index 0000000..192d90b --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift + +Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployByDefault** | **Boolean** | Defines if the component should be deployed during startup. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints>**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints.md) | | [optional] +**inlined** | **String** | Inlined manifest | [optional] +**uri** | **String** | Location in a file fetched from a uri. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints.md new file mode 100644 index 0000000..dc8dcbc --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin.md new file mode 100644 index 0000000..8fbde72 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin.md @@ -0,0 +1,19 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin + +Allows importing a plugin. Plugins are mainly imported devfiles that contribute components, commands and events as a consistent single unit. They are defined in either YAML files following the devfile syntax, or as `DevWorkspaceTemplate` Kubernetes Custom Resources +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commands** | [**List<V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands>**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands.md) | Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**components** | [**List<V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents>**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents.md) | Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**id** | **String** | Id in a registry that contains a Devfile yaml file | [optional] +**kubernetes** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes.md) | | [optional] +**registryUrl** | **String** | Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used. | [optional] +**uri** | **String** | URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI. | [optional] +**version** | **String** | Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands.md new file mode 100644 index 0000000..597a254 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**apply** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply.md) | | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**composite** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite.md) | | [optional] +**exec** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec.md) | | [optional] +**id** | **String** | Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events. | + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply.md new file mode 100644 index 0000000..065bf64 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply + +Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | **String** | Describes component that will be applied | [optional] +**group** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup.md new file mode 100644 index 0000000..be78d8b --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite.md new file mode 100644 index 0000000..94a0474 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite + +Composite command that allows executing several sub-commands either sequentially or concurrently +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commands** | **List<String>** | The commands that comprise this composite command | [optional] +**group** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] +**parallel** | **Boolean** | Indicates if the sub-commands should be executed concurrently | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup.md new file mode 100644 index 0000000..916c7fd --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec.md new file mode 100644 index 0000000..b03fab2 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec.md @@ -0,0 +1,19 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec + +CLI Command executed in an existing component container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commandLine** | **String** | The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. | [optional] +**component** | **String** | Describes component to which given action relates | [optional] +**env** | [**List<V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv>**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv.md) | Optional list of environment variables that have to be set before running the command | [optional] +**group** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup.md) | | [optional] +**hotReloadCapable** | **Boolean** | Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false` | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] +**workingDir** | **String** | Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv.md new file mode 100644 index 0000000..8ad1753 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**value** | **String** | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup.md new file mode 100644 index 0000000..f7eec90 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents.md new file mode 100644 index 0000000..5f9b022 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents.md @@ -0,0 +1,18 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**container** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.md) | | [optional] +**image** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage.md) | | [optional] +**kubernetes** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes.md) | | [optional] +**name** | **String** | Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin. | +**openshift** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift.md) | | [optional] +**volume** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume.md) | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.md new file mode 100644 index 0000000..ff80de1 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer + +Allows adding and configuring devworkspace-related containers +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation.md) | | [optional] +**args** | **List<String>** | The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image. | [optional] +**command** | **List<String>** | The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image. | [optional] +**cpuLimit** | **String** | | [optional] +**cpuRequest** | **String** | | [optional] +**dedicatedPod** | **Boolean** | Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints>**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints.md) | | [optional] +**env** | [**List<V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv>**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv.md) | Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE` | [optional] +**image** | **String** | | [optional] +**memoryLimit** | **String** | | [optional] +**memoryRequest** | **String** | | [optional] +**mountSources** | **Boolean** | Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. | [optional] +**sourceMapping** | **String** | Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used. | [optional] +**volumeMounts** | [**List<V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts>**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts.md) | List of volumes mounts that should be mounted is this container. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation.md new file mode 100644 index 0000000..9b26feb --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation + +Annotations that should be added to specific resources for this container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployment** | **Map<String, String>** | Annotations to be added to deployment | [optional] +**service** | **Map<String, String>** | Annotations to be added to service | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints.md new file mode 100644 index 0000000..cbe3b70 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv.md new file mode 100644 index 0000000..e77e8d0 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**value** | **String** | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts.md new file mode 100644 index 0000000..e66f214 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts + +Volume that should be mounted to a component container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files. | +**path** | **String** | The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/<name>`. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage.md new file mode 100644 index 0000000..49a6a70 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage + +Allows specifying the definition of an image for outer loop builds +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**autoBuild** | **Boolean** | Defines if the image should be built during startup. Default value is `false` | [optional] +**dockerfile** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile.md) | | [optional] +**imageName** | **String** | Name of the image for the resulting outerloop build | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile.md new file mode 100644 index 0000000..1daccf7 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile.md @@ -0,0 +1,18 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile + +Allows specifying dockerfile type build +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**args** | **List<String>** | The arguments to supply to the dockerfile build. | [optional] +**buildContext** | **String** | Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container | [optional] +**devfileRegistry** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.md) | | [optional] +**git** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit.md) | | [optional] +**rootRequired** | **Boolean** | Specify if a privileged builder pod is required. Default value is `false` | [optional] +**uri** | **String** | URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.md new file mode 100644 index 0000000..95f7c96 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry + +Dockerfile's Devfile Registry source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image. | [optional] +**registryUrl** | **String** | Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit.md new file mode 100644 index 0000000..58f3a5c --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit + +Dockerfile's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.md) | | [optional] +**fileLocation** | **String** | Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile. | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.md new file mode 100644 index 0000000..6080180 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes.md new file mode 100644 index 0000000..3a388f6 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes + +Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployByDefault** | **Boolean** | Defines if the component should be deployed during startup. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints>**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.md) | | [optional] +**inlined** | **String** | Inlined manifest | [optional] +**uri** | **String** | Location in a file fetched from a uri. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.md new file mode 100644 index 0000000..1a36465 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift.md new file mode 100644 index 0000000..e5514d1 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift + +Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployByDefault** | **Boolean** | Defines if the component should be deployed during startup. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints>**](V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.md) | | [optional] +**inlined** | **String** | Inlined manifest | [optional] +**uri** | **String** | Location in a file fetched from a uri. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.md new file mode 100644 index 0000000..efbe16f --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume.md new file mode 100644 index 0000000..9eb476d --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume + +Allows specifying the definition of a volume shared by several other components +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ephemeral** | **Boolean** | Ephemeral volumes are not stored persistently across restarts. Defaults to false | [optional] +**size** | **String** | Size of the volume | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes.md new file mode 100644 index 0000000..6e6a8fa --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes + +Reference to a Kubernetes CRD of type DevWorkspaceTemplate +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | [optional] +**namespace** | **String** | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume.md new file mode 100644 index 0000000..9ec098e --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume + +Allows specifying the definition of a volume shared by several other components +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ephemeral** | **Boolean** | Ephemeral volumes are not stored persistently across restarts. Defaults to false | [optional] +**size** | **String** | Size of the volume | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentKubernetes.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentKubernetes.md new file mode 100644 index 0000000..fbeb31c --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentKubernetes.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentKubernetes + +Reference to a Kubernetes CRD of type DevWorkspaceTemplate +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**namespace** | **String** | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentProjects.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentProjects.md new file mode 100644 index 0000000..dcba1e6 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentProjects.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentProjects + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**clonePath** | **String** | Path relative to the root of the projects to which this project should be cloned into. This is a unix-style relative path (i.e. uses forward slashes). The path is invalid if it is absolute or tries to escape the project root through the usage of '..'. If not specified, defaults to the project name. | [optional] +**git** | [**V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit**](V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit.md) | | [optional] +**name** | **String** | Project name | +**zip** | [**V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip**](V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip.md) | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit.md new file mode 100644 index 0000000..dcde90c --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit + +Project's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom**](V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom.md) | | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom.md new file mode 100644 index 0000000..59706aa --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip.md new file mode 100644 index 0000000..24f3a07 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip + +Project's Zip source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**location** | **String** | Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentStarterProjects.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentStarterProjects.md new file mode 100644 index 0000000..4e6d382 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentStarterProjects.md @@ -0,0 +1,17 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentStarterProjects + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**description** | **String** | Description of a starter project | [optional] +**git** | [**V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit**](V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit.md) | | [optional] +**name** | **String** | Project name | +**subDir** | **String** | Sub-directory from a starter project to be used as root for starter project. | [optional] +**zip** | [**V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip**](V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip.md) | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit.md new file mode 100644 index 0000000..8f322c0 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit + +Project's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom**](V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom.md) | | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom.md new file mode 100644 index 0000000..8008ed2 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip.md b/docs/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip.md new file mode 100644 index 0000000..e566338 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip + +Project's Zip source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**location** | **String** | Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateProjects.md b/docs/V1alpha2DevWorkspaceSpecTemplateProjects.md new file mode 100644 index 0000000..654b741 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateProjects.md @@ -0,0 +1,17 @@ + + +# V1alpha2DevWorkspaceSpecTemplateProjects + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**clonePath** | **String** | Path relative to the root of the projects to which this project should be cloned into. This is a unix-style relative path (i.e. uses forward slashes). The path is invalid if it is absolute or tries to escape the project root through the usage of '..'. If not specified, defaults to the project name. | [optional] +**custom** | [**V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom**](V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom.md) | | [optional] +**git** | [**V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit**](V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit.md) | | [optional] +**name** | **String** | Project name | +**zip** | [**V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip**](V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip.md) | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom.md b/docs/V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom.md new file mode 100644 index 0000000..cf9fda1 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom + +Project's Custom source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**embeddedResource** | [**Object**](.md) | | +**projectSourceClass** | **String** | | + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit.md b/docs/V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit.md new file mode 100644 index 0000000..da6c079 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit + +Project's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom**](V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom.md) | | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom.md b/docs/V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom.md new file mode 100644 index 0000000..0451fb2 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip.md b/docs/V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip.md new file mode 100644 index 0000000..1020bb4 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip + +Project's Zip source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**location** | **String** | Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateStarterProjects.md b/docs/V1alpha2DevWorkspaceSpecTemplateStarterProjects.md new file mode 100644 index 0000000..59634b9 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateStarterProjects.md @@ -0,0 +1,18 @@ + + +# V1alpha2DevWorkspaceSpecTemplateStarterProjects + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**custom** | [**V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom**](V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom.md) | | [optional] +**description** | **String** | Description of a starter project | [optional] +**git** | [**V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit**](V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit.md) | | [optional] +**name** | **String** | Project name | +**subDir** | **String** | Sub-directory from a starter project to be used as root for starter project. | [optional] +**zip** | [**V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip**](V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip.md) | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom.md b/docs/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom.md new file mode 100644 index 0000000..9880410 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom + +Project's Custom source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**embeddedResource** | [**Object**](.md) | | +**projectSourceClass** | **String** | | + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit.md b/docs/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit.md new file mode 100644 index 0000000..f245097 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit + +Project's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom**](V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom.md) | | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom.md b/docs/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom.md new file mode 100644 index 0000000..6808eca --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip.md b/docs/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip.md new file mode 100644 index 0000000..b8f2ccf --- /dev/null +++ b/docs/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip + +Project's Zip source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**location** | **String** | Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceStatus.md b/docs/V1alpha2DevWorkspaceStatus.md new file mode 100644 index 0000000..88cf468 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceStatus.md @@ -0,0 +1,17 @@ + + +# V1alpha2DevWorkspaceStatus + +DevWorkspaceStatus defines the observed state of DevWorkspace +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**conditions** | [**List<V1alpha2DevWorkspaceStatusConditions>**](V1alpha2DevWorkspaceStatusConditions.md) | Conditions represent the latest available observations of an object's state | [optional] +**devworkspaceId** | **String** | Id of the DevWorkspace | +**mainUrl** | **String** | Main URL for this DevWorkspace | [optional] +**message** | **String** | Message is a short user-readable message giving additional information about an object's state | [optional] +**phase** | **String** | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceStatusConditions.md b/docs/V1alpha2DevWorkspaceStatusConditions.md new file mode 100644 index 0000000..ddac4df --- /dev/null +++ b/docs/V1alpha2DevWorkspaceStatusConditions.md @@ -0,0 +1,17 @@ + + +# V1alpha2DevWorkspaceStatusConditions + +DevWorkspaceCondition contains details for the current condition of this devworkspace. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**lastTransitionTime** | [**OffsetDateTime**](OffsetDateTime.md) | Last time the condition transitioned from one status to another. | [optional] +**message** | **String** | Human-readable message indicating details about last transition. | [optional] +**reason** | **String** | Unique, one-word, CamelCase reason for the condition's last transition. | [optional] +**status** | **String** | Phase is the status of the condition. Can be True, False, Unknown. | +**type** | **String** | Type is the type of the condition. | + + + diff --git a/docs/V1alpha2DevWorkspaceTemplate.md b/docs/V1alpha2DevWorkspaceTemplate.md new file mode 100644 index 0000000..e53e565 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplate.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceTemplate + +DevWorkspaceTemplate is the Schema for the devworkspacetemplates API +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**apiVersion** | **String** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] +**kind** | **String** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] +**metadata** | [**V1alpha2DevWorkspaceTemplateMetadata**](V1alpha2DevWorkspaceTemplateMetadata.md) | | [optional] +**spec** | [**V1alpha2DevWorkspaceTemplateSpec**](V1alpha2DevWorkspaceTemplateSpec.md) | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateMetadata.md b/docs/V1alpha2DevWorkspaceTemplateMetadata.md new file mode 100644 index 0000000..9a0924c --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateMetadata.md @@ -0,0 +1,28 @@ + + +# V1alpha2DevWorkspaceTemplateMetadata + +ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotations** | **Map<String, String>** | Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations | [optional] +**clusterName** | **String** | The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. | [optional] +**creationTimestamp** | [**OffsetDateTime**](OffsetDateTime.md) | CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | [optional] +**deletionGracePeriodSeconds** | **Long** | Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. | [optional] +**deletionTimestamp** | [**OffsetDateTime**](OffsetDateTime.md) | DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | [optional] +**finalizers** | **List<String>** | Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list. | [optional] +**generateName** | **String** | GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency | [optional] +**generation** | **Long** | A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. | [optional] +**labels** | **Map<String, String>** | Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels | [optional] +**managedFields** | [**List<V1alpha2DevWorkspaceTemplateMetadataManagedFields>**](V1alpha2DevWorkspaceTemplateMetadataManagedFields.md) | ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object. | [optional] +**name** | **String** | Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names | [optional] +**namespace** | **String** | Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces | [optional] +**ownerReferences** | [**List<V1alpha2DevWorkspaceTemplateMetadataOwnerReferences>**](V1alpha2DevWorkspaceTemplateMetadataOwnerReferences.md) | List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller. | [optional] +**resourceVersion** | **String** | An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency | [optional] +**selfLink** | **String** | SelfLink is a URL representing this object. Populated by the system. Read-only. DEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release. | [optional] +**uid** | **String** | UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateMetadataManagedFields.md b/docs/V1alpha2DevWorkspaceTemplateMetadataManagedFields.md new file mode 100644 index 0000000..0a69640 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateMetadataManagedFields.md @@ -0,0 +1,18 @@ + + +# V1alpha2DevWorkspaceTemplateMetadataManagedFields + +ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**apiVersion** | **String** | 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. | [optional] +**fieldsType** | **String** | FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: \"FieldsV1\" | [optional] +**fieldsV1** | [**Object**](.md) | FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type. | [optional] +**manager** | **String** | Manager is an identifier of the workflow managing these fields. | [optional] +**operation** | **String** | Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'. | [optional] +**time** | [**OffsetDateTime**](OffsetDateTime.md) | Time is timestamp of when these fields were set. It should always be empty if Operation is 'Apply' | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateMetadataOwnerReferences.md b/docs/V1alpha2DevWorkspaceTemplateMetadataOwnerReferences.md new file mode 100644 index 0000000..ae96b73 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateMetadataOwnerReferences.md @@ -0,0 +1,18 @@ + + +# V1alpha2DevWorkspaceTemplateMetadataOwnerReferences + +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. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**apiVersion** | **String** | API version of the referent. | +**blockOwnerDeletion** | **Boolean** | If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. | [optional] +**controller** | **Boolean** | If true, this reference points to the managing controller. | [optional] +**kind** | **String** | Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | +**name** | **String** | Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names | +**uid** | **String** | UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids | + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpec.md b/docs/V1alpha2DevWorkspaceTemplateSpec.md new file mode 100644 index 0000000..e757520 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpec.md @@ -0,0 +1,20 @@ + + +# V1alpha2DevWorkspaceTemplateSpec + +Structure of the devworkspace. This is also the specification of a devworkspace template. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**commands** | [**List<V1alpha2DevWorkspaceTemplateSpecCommands>**](V1alpha2DevWorkspaceTemplateSpecCommands.md) | Predefined, ready-to-use, devworkspace-related commands | [optional] +**components** | [**List<V1alpha2DevWorkspaceTemplateSpecComponents>**](V1alpha2DevWorkspaceTemplateSpecComponents.md) | List of the devworkspace components, such as editor and plugins, user-provided containers, or other types of components | [optional] +**events** | [**V1alpha2DevWorkspaceTemplateSpecEvents**](V1alpha2DevWorkspaceTemplateSpecEvents.md) | | [optional] +**parent** | [**V1alpha2DevWorkspaceTemplateSpecParent**](V1alpha2DevWorkspaceTemplateSpecParent.md) | | [optional] +**projects** | [**List<V1alpha2DevWorkspaceTemplateSpecProjects>**](V1alpha2DevWorkspaceTemplateSpecProjects.md) | Projects worked on in the devworkspace, containing names and sources locations | [optional] +**starterProjects** | [**List<V1alpha2DevWorkspaceTemplateSpecStarterProjects>**](V1alpha2DevWorkspaceTemplateSpecStarterProjects.md) | StarterProjects is a project that can be used as a starting point when bootstrapping new projects | [optional] +**variables** | **Map<String, String>** | Map of key-value variables used for string replacement in the devfile. Values can be referenced via {{variable-key}} to replace the corresponding value in string fields in the devfile. Replacement cannot be used for - schemaVersion, metadata, parent source - element identifiers, e.g. command id, component name, endpoint name, project name - references to identifiers, e.g. in events, a command's component, container's volume mount name - string enums, e.g. command group kind, endpoint exposure | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecCommands.md b/docs/V1alpha2DevWorkspaceTemplateSpecCommands.md new file mode 100644 index 0000000..0d4e1b3 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecCommands.md @@ -0,0 +1,17 @@ + + +# V1alpha2DevWorkspaceTemplateSpecCommands + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**apply** | [**V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply**](V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply.md) | | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**composite** | [**V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite**](V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite.md) | | [optional] +**custom** | [**V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom**](V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom.md) | | [optional] +**exec** | [**V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec**](V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec.md) | | [optional] +**id** | **String** | Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events. | + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply.md b/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply.md new file mode 100644 index 0000000..b2cf331 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply + +Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | **String** | Describes component that will be applied | +**group** | [**V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup**](V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup.md b/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup.md new file mode 100644 index 0000000..4e5f0a4 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite.md b/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite.md new file mode 100644 index 0000000..4010352 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite + +Composite command that allows executing several sub-commands either sequentially or concurrently +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commands** | **List<String>** | The commands that comprise this composite command | [optional] +**group** | [**V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup**](V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] +**parallel** | **Boolean** | Indicates if the sub-commands should be executed concurrently | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup.md b/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup.md new file mode 100644 index 0000000..9accc35 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom.md b/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom.md new file mode 100644 index 0000000..f1473a6 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom + +Custom command whose logic is implementation-dependant and should be provided by the user possibly through some dedicated plugin +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commandClass** | **String** | Class of command that the associated implementation component should use to process this command with the appropriate logic | +**embeddedResource** | [**Object**](.md) | Additional free-form configuration for this custom command that the implementation component will know how to use | +**group** | [**V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup**](V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup.md b/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup.md new file mode 100644 index 0000000..90a165e --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec.md b/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec.md new file mode 100644 index 0000000..446be69 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec.md @@ -0,0 +1,19 @@ + + +# V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec + +CLI Command executed in an existing component container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commandLine** | **String** | The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. | +**component** | **String** | Describes component to which given action relates | +**env** | [**List<V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv>**](V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv.md) | Optional list of environment variables that have to be set before running the command | [optional] +**group** | [**V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup**](V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup.md) | | [optional] +**hotReloadCapable** | **Boolean** | Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false` | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] +**workingDir** | **String** | Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv.md b/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv.md new file mode 100644 index 0000000..936dddc --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**value** | **String** | | + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup.md b/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup.md new file mode 100644 index 0000000..f5abb7a --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponents.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponents.md new file mode 100644 index 0000000..def3251 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponents.md @@ -0,0 +1,20 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponents + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**container** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.md) | | [optional] +**custom** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom.md) | | [optional] +**image** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage.md) | | [optional] +**kubernetes** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes.md) | | [optional] +**name** | **String** | Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin. | +**openshift** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift.md) | | [optional] +**plugin** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin.md) | | [optional] +**volume** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume.md) | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.md new file mode 100644 index 0000000..e29df41 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer + +Allows adding and configuring devworkspace-related containers +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation.md) | | [optional] +**args** | **List<String>** | The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image. | [optional] +**command** | **List<String>** | The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image. | [optional] +**cpuLimit** | **String** | | [optional] +**cpuRequest** | **String** | | [optional] +**dedicatedPod** | **Boolean** | Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints>**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints.md) | | [optional] +**env** | [**List<V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv>**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv.md) | Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE` | [optional] +**image** | **String** | | +**memoryLimit** | **String** | | [optional] +**memoryRequest** | **String** | | [optional] +**mountSources** | **Boolean** | Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. | [optional] +**sourceMapping** | **String** | Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used. | [optional] +**volumeMounts** | [**List<V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts>**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts.md) | List of volumes mounts that should be mounted is this container. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation.md new file mode 100644 index 0000000..a952f7a --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation + +Annotations that should be added to specific resources for this container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployment** | **Map<String, String>** | Annotations to be added to deployment | [optional] +**service** | **Map<String, String>** | Annotations to be added to service | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints.md new file mode 100644 index 0000000..ca80867 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv.md new file mode 100644 index 0000000..6bbdf80 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**value** | **String** | | + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts.md new file mode 100644 index 0000000..0268d32 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts + +Volume that should be mounted to a component container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files. | +**path** | **String** | The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/<name>`. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom.md new file mode 100644 index 0000000..31f638c --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom + +Custom component whose logic is implementation-dependant and should be provided by the user possibly through some dedicated controller +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**componentClass** | **String** | Class of component that the associated implementation controller should use to process this command with the appropriate logic | +**embeddedResource** | [**Object**](.md) | Additional free-form configuration for this custom component that the implementation controller will know how to use | + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage.md new file mode 100644 index 0000000..f0622d0 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage + +Allows specifying the definition of an image for outer loop builds +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**autoBuild** | **Boolean** | Defines if the image should be built during startup. Default value is `false` | [optional] +**dockerfile** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile.md) | | [optional] +**imageName** | **String** | Name of the image for the resulting outerloop build | + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile.md new file mode 100644 index 0000000..7f8a050 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile.md @@ -0,0 +1,18 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile + +Allows specifying dockerfile type build +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**args** | **List<String>** | The arguments to supply to the dockerfile build. | [optional] +**buildContext** | **String** | Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container | [optional] +**devfileRegistry** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry.md) | | [optional] +**git** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit.md) | | [optional] +**rootRequired** | **Boolean** | Specify if a privileged builder pod is required. Default value is `false` | [optional] +**uri** | **String** | URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry.md new file mode 100644 index 0000000..f66d6fd --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry + +Dockerfile's Devfile Registry source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image. | +**registryUrl** | **String** | Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit.md new file mode 100644 index 0000000..7310f08 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit + +Dockerfile's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom.md) | | [optional] +**fileLocation** | **String** | Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile. | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom.md new file mode 100644 index 0000000..c6305b5 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes.md new file mode 100644 index 0000000..775634e --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes + +Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployByDefault** | **Boolean** | Defines if the component should be deployed during startup. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints>**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints.md) | | [optional] +**inlined** | **String** | Inlined manifest | [optional] +**uri** | **String** | Location in a file fetched from a uri. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints.md new file mode 100644 index 0000000..9cc5b6a --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift.md new file mode 100644 index 0000000..df80604 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift + +Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployByDefault** | **Boolean** | Defines if the component should be deployed during startup. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints>**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints.md) | | [optional] +**inlined** | **String** | Inlined manifest | [optional] +**uri** | **String** | Location in a file fetched from a uri. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints.md new file mode 100644 index 0000000..ff50e57 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin.md new file mode 100644 index 0000000..b295000 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin.md @@ -0,0 +1,19 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin + +Allows importing a plugin. Plugins are mainly imported devfiles that contribute components, commands and events as a consistent single unit. They are defined in either YAML files following the devfile syntax, or as `DevWorkspaceTemplate` Kubernetes Custom Resources +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commands** | [**List<V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands>**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands.md) | Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**components** | [**List<V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents>**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents.md) | Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**id** | **String** | Id in a registry that contains a Devfile yaml file | [optional] +**kubernetes** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes.md) | | [optional] +**registryUrl** | **String** | Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used. | [optional] +**uri** | **String** | URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI. | [optional] +**version** | **String** | Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands.md new file mode 100644 index 0000000..5884b5f --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**apply** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply.md) | | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**composite** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite.md) | | [optional] +**exec** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec.md) | | [optional] +**id** | **String** | Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events. | + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply.md new file mode 100644 index 0000000..452bab8 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply + +Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | **String** | Describes component that will be applied | [optional] +**group** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup.md new file mode 100644 index 0000000..4e29fa0 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite.md new file mode 100644 index 0000000..dfc0bad --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite + +Composite command that allows executing several sub-commands either sequentially or concurrently +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commands** | **List<String>** | The commands that comprise this composite command | [optional] +**group** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] +**parallel** | **Boolean** | Indicates if the sub-commands should be executed concurrently | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup.md new file mode 100644 index 0000000..4bd1376 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec.md new file mode 100644 index 0000000..51c4b5e --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec.md @@ -0,0 +1,19 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec + +CLI Command executed in an existing component container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commandLine** | **String** | The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. | [optional] +**component** | **String** | Describes component to which given action relates | [optional] +**env** | [**List<V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv>**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv.md) | Optional list of environment variables that have to be set before running the command | [optional] +**group** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup.md) | | [optional] +**hotReloadCapable** | **Boolean** | Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false` | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] +**workingDir** | **String** | Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv.md new file mode 100644 index 0000000..503d3e3 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**value** | **String** | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup.md new file mode 100644 index 0000000..1d14808 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents.md new file mode 100644 index 0000000..ae7a37e --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents.md @@ -0,0 +1,18 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**container** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.md) | | [optional] +**image** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage.md) | | [optional] +**kubernetes** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes.md) | | [optional] +**name** | **String** | Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin. | +**openshift** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift.md) | | [optional] +**volume** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume.md) | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.md new file mode 100644 index 0000000..2b13ac6 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer + +Allows adding and configuring devworkspace-related containers +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation.md) | | [optional] +**args** | **List<String>** | The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image. | [optional] +**command** | **List<String>** | The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image. | [optional] +**cpuLimit** | **String** | | [optional] +**cpuRequest** | **String** | | [optional] +**dedicatedPod** | **Boolean** | Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints>**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints.md) | | [optional] +**env** | [**List<V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv>**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv.md) | Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE` | [optional] +**image** | **String** | | [optional] +**memoryLimit** | **String** | | [optional] +**memoryRequest** | **String** | | [optional] +**mountSources** | **Boolean** | Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. | [optional] +**sourceMapping** | **String** | Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used. | [optional] +**volumeMounts** | [**List<V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts>**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts.md) | List of volumes mounts that should be mounted is this container. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation.md new file mode 100644 index 0000000..cebf01e --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation + +Annotations that should be added to specific resources for this container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployment** | **Map<String, String>** | Annotations to be added to deployment | [optional] +**service** | **Map<String, String>** | Annotations to be added to service | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints.md new file mode 100644 index 0000000..632c293 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv.md new file mode 100644 index 0000000..2448a0a --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**value** | **String** | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts.md new file mode 100644 index 0000000..1505b01 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts + +Volume that should be mounted to a component container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files. | +**path** | **String** | The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/<name>`. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage.md new file mode 100644 index 0000000..a714f60 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage + +Allows specifying the definition of an image for outer loop builds +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**autoBuild** | **Boolean** | Defines if the image should be built during startup. Default value is `false` | [optional] +**dockerfile** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile.md) | | [optional] +**imageName** | **String** | Name of the image for the resulting outerloop build | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile.md new file mode 100644 index 0000000..f626abd --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile.md @@ -0,0 +1,18 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile + +Allows specifying dockerfile type build +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**args** | **List<String>** | The arguments to supply to the dockerfile build. | [optional] +**buildContext** | **String** | Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container | [optional] +**devfileRegistry** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.md) | | [optional] +**git** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit.md) | | [optional] +**rootRequired** | **Boolean** | Specify if a privileged builder pod is required. Default value is `false` | [optional] +**uri** | **String** | URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.md new file mode 100644 index 0000000..eb5ad7a --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry + +Dockerfile's Devfile Registry source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image. | [optional] +**registryUrl** | **String** | Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit.md new file mode 100644 index 0000000..9b549b7 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit + +Dockerfile's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.md) | | [optional] +**fileLocation** | **String** | Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile. | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.md new file mode 100644 index 0000000..14daf00 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes.md new file mode 100644 index 0000000..cd81480 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes + +Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployByDefault** | **Boolean** | Defines if the component should be deployed during startup. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints>**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints.md) | | [optional] +**inlined** | **String** | Inlined manifest | [optional] +**uri** | **String** | Location in a file fetched from a uri. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints.md new file mode 100644 index 0000000..9943c3e --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift.md new file mode 100644 index 0000000..6924cb4 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift + +Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployByDefault** | **Boolean** | Defines if the component should be deployed during startup. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints>**](V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints.md) | | [optional] +**inlined** | **String** | Inlined manifest | [optional] +**uri** | **String** | Location in a file fetched from a uri. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints.md new file mode 100644 index 0000000..318515b --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume.md new file mode 100644 index 0000000..1d0a82f --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume + +Allows specifying the definition of a volume shared by several other components +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ephemeral** | **Boolean** | Ephemeral volumes are not stored persistently across restarts. Defaults to false | [optional] +**size** | **String** | Size of the volume | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes.md new file mode 100644 index 0000000..00ca203 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes + +Reference to a Kubernetes CRD of type DevWorkspaceTemplate +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**namespace** | **String** | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume.md b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume.md new file mode 100644 index 0000000..89271bc --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume + +Allows specifying the definition of a volume shared by several other components +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ephemeral** | **Boolean** | Ephemeral volumes are not stored persistently across restarts. Defaults to false | [optional] +**size** | **String** | Size of the volume | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecEvents.md b/docs/V1alpha2DevWorkspaceTemplateSpecEvents.md new file mode 100644 index 0000000..adb9ecf --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecEvents.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceTemplateSpecEvents + +Bindings of commands to events. Each command is referred-to by its name. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**postStart** | **List<String>** | IDs of commands that should be executed after the devworkspace is completely started. In the case of Che-Theia, these commands should be executed after all plugins and extensions have started, including project cloning. This means that those commands are not triggered until the user opens the IDE in his browser. | [optional] +**postStop** | **List<String>** | IDs of commands that should be executed after stopping the devworkspace. | [optional] +**preStart** | **List<String>** | IDs of commands that should be executed before the devworkspace start. Kubernetes-wise, these commands would typically be executed in init containers of the devworkspace POD. | [optional] +**preStop** | **List<String>** | IDs of commands that should be executed before stopping the devworkspace. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParent.md b/docs/V1alpha2DevWorkspaceTemplateSpecParent.md new file mode 100644 index 0000000..3122f2d --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParent.md @@ -0,0 +1,23 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParent + +Parent devworkspace template +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Overrides of attributes encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**commands** | [**List<V1alpha2DevWorkspaceTemplateSpecParentCommands>**](V1alpha2DevWorkspaceTemplateSpecParentCommands.md) | Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**components** | [**List<V1alpha2DevWorkspaceTemplateSpecParentComponents>**](V1alpha2DevWorkspaceTemplateSpecParentComponents.md) | Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**id** | **String** | Id in a registry that contains a Devfile yaml file | [optional] +**kubernetes** | [**V1alpha2DevWorkspaceTemplateSpecParentKubernetes**](V1alpha2DevWorkspaceTemplateSpecParentKubernetes.md) | | [optional] +**projects** | [**List<V1alpha2DevWorkspaceTemplateSpecParentProjects>**](V1alpha2DevWorkspaceTemplateSpecParentProjects.md) | Overrides of projects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**registryUrl** | **String** | Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used. | [optional] +**starterProjects** | [**List<V1alpha2DevWorkspaceTemplateSpecParentStarterProjects>**](V1alpha2DevWorkspaceTemplateSpecParentStarterProjects.md) | Overrides of starterProjects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**uri** | **String** | URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI. | [optional] +**variables** | **Map<String, String>** | Overrides of variables encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**version** | **String** | Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentCommands.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentCommands.md new file mode 100644 index 0000000..3f46e25 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentCommands.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentCommands + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**apply** | [**V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply**](V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply.md) | | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**composite** | [**V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite**](V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite.md) | | [optional] +**exec** | [**V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec**](V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec.md) | | [optional] +**id** | **String** | Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events. | + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply.md new file mode 100644 index 0000000..6ee8b83 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply + +Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | **String** | Describes component that will be applied | [optional] +**group** | [**V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup**](V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup.md new file mode 100644 index 0000000..de7cc88 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite.md new file mode 100644 index 0000000..a56a463 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite + +Composite command that allows executing several sub-commands either sequentially or concurrently +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commands** | **List<String>** | The commands that comprise this composite command | [optional] +**group** | [**V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup**](V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] +**parallel** | **Boolean** | Indicates if the sub-commands should be executed concurrently | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup.md new file mode 100644 index 0000000..4c1922e --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec.md new file mode 100644 index 0000000..0423d01 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec.md @@ -0,0 +1,19 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec + +CLI Command executed in an existing component container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commandLine** | **String** | The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. | [optional] +**component** | **String** | Describes component to which given action relates | [optional] +**env** | [**List<V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv>**](V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv.md) | Optional list of environment variables that have to be set before running the command | [optional] +**group** | [**V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup**](V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup.md) | | [optional] +**hotReloadCapable** | **Boolean** | Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false` | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] +**workingDir** | **String** | Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv.md new file mode 100644 index 0000000..276b561 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**value** | **String** | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup.md new file mode 100644 index 0000000..c1a2c18 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponents.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponents.md new file mode 100644 index 0000000..267100f --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponents.md @@ -0,0 +1,19 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponents + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**container** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.md) | | [optional] +**image** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage.md) | | [optional] +**kubernetes** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes.md) | | [optional] +**name** | **String** | Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin. | +**openshift** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift.md) | | [optional] +**plugin** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin.md) | | [optional] +**volume** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume.md) | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.md new file mode 100644 index 0000000..aa57910 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer + +Allows adding and configuring devworkspace-related containers +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation.md) | | [optional] +**args** | **List<String>** | The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image. | [optional] +**command** | **List<String>** | The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image. | [optional] +**cpuLimit** | **String** | | [optional] +**cpuRequest** | **String** | | [optional] +**dedicatedPod** | **Boolean** | Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints>**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints.md) | | [optional] +**env** | [**List<V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv>**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv.md) | Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE` | [optional] +**image** | **String** | | [optional] +**memoryLimit** | **String** | | [optional] +**memoryRequest** | **String** | | [optional] +**mountSources** | **Boolean** | Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. | [optional] +**sourceMapping** | **String** | Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used. | [optional] +**volumeMounts** | [**List<V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts>**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts.md) | List of volumes mounts that should be mounted is this container. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation.md new file mode 100644 index 0000000..6937d67 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation + +Annotations that should be added to specific resources for this container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployment** | **Map<String, String>** | Annotations to be added to deployment | [optional] +**service** | **Map<String, String>** | Annotations to be added to service | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints.md new file mode 100644 index 0000000..35dc72c --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv.md new file mode 100644 index 0000000..ab57595 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**value** | **String** | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts.md new file mode 100644 index 0000000..9a9754e --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts + +Volume that should be mounted to a component container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files. | +**path** | **String** | The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/<name>`. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage.md new file mode 100644 index 0000000..ec11c30 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage + +Allows specifying the definition of an image for outer loop builds +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**autoBuild** | **Boolean** | Defines if the image should be built during startup. Default value is `false` | [optional] +**dockerfile** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile.md) | | [optional] +**imageName** | **String** | Name of the image for the resulting outerloop build | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile.md new file mode 100644 index 0000000..419d1f2 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile.md @@ -0,0 +1,18 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile + +Allows specifying dockerfile type build +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**args** | **List<String>** | The arguments to supply to the dockerfile build. | [optional] +**buildContext** | **String** | Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container | [optional] +**devfileRegistry** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry.md) | | [optional] +**git** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit.md) | | [optional] +**rootRequired** | **Boolean** | Specify if a privileged builder pod is required. Default value is `false` | [optional] +**uri** | **String** | URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry.md new file mode 100644 index 0000000..7a95f51 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry + +Dockerfile's Devfile Registry source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image. | [optional] +**registryUrl** | **String** | Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit.md new file mode 100644 index 0000000..cfe140b --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit + +Dockerfile's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom.md) | | [optional] +**fileLocation** | **String** | Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile. | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom.md new file mode 100644 index 0000000..b4c0630 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes.md new file mode 100644 index 0000000..bee9102 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes + +Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployByDefault** | **Boolean** | Defines if the component should be deployed during startup. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints>**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints.md) | | [optional] +**inlined** | **String** | Inlined manifest | [optional] +**uri** | **String** | Location in a file fetched from a uri. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints.md new file mode 100644 index 0000000..f137073 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift.md new file mode 100644 index 0000000..6329c06 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift + +Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployByDefault** | **Boolean** | Defines if the component should be deployed during startup. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints>**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints.md) | | [optional] +**inlined** | **String** | Inlined manifest | [optional] +**uri** | **String** | Location in a file fetched from a uri. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints.md new file mode 100644 index 0000000..93b7893 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin.md new file mode 100644 index 0000000..cb97e01 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin.md @@ -0,0 +1,19 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin + +Allows importing a plugin. Plugins are mainly imported devfiles that contribute components, commands and events as a consistent single unit. They are defined in either YAML files following the devfile syntax, or as `DevWorkspaceTemplate` Kubernetes Custom Resources +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commands** | [**List<V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands>**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands.md) | Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**components** | [**List<V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents>**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents.md) | Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**id** | **String** | Id in a registry that contains a Devfile yaml file | [optional] +**kubernetes** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes.md) | | [optional] +**registryUrl** | **String** | Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used. | [optional] +**uri** | **String** | URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI. | [optional] +**version** | **String** | Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands.md new file mode 100644 index 0000000..a28c931 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**apply** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply.md) | | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**composite** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite.md) | | [optional] +**exec** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec.md) | | [optional] +**id** | **String** | Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events. | + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply.md new file mode 100644 index 0000000..6ff86c7 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply + +Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | **String** | Describes component that will be applied | [optional] +**group** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup.md new file mode 100644 index 0000000..a18baf4 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite.md new file mode 100644 index 0000000..b716e50 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite + +Composite command that allows executing several sub-commands either sequentially or concurrently +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commands** | **List<String>** | The commands that comprise this composite command | [optional] +**group** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] +**parallel** | **Boolean** | Indicates if the sub-commands should be executed concurrently | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup.md new file mode 100644 index 0000000..19bf7ea --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec.md new file mode 100644 index 0000000..960b196 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec.md @@ -0,0 +1,19 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec + +CLI Command executed in an existing component container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commandLine** | **String** | The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. | [optional] +**component** | **String** | Describes component to which given action relates | [optional] +**env** | [**List<V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv>**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv.md) | Optional list of environment variables that have to be set before running the command | [optional] +**group** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup.md) | | [optional] +**hotReloadCapable** | **Boolean** | Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false` | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] +**workingDir** | **String** | Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv.md new file mode 100644 index 0000000..dfd3a9e --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**value** | **String** | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup.md new file mode 100644 index 0000000..c565e64 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents.md new file mode 100644 index 0000000..6a67b5e --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents.md @@ -0,0 +1,18 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**container** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.md) | | [optional] +**image** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage.md) | | [optional] +**kubernetes** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes.md) | | [optional] +**name** | **String** | Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin. | +**openshift** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift.md) | | [optional] +**volume** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume.md) | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.md new file mode 100644 index 0000000..b77bc35 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.md @@ -0,0 +1,26 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer + +Allows adding and configuring devworkspace-related containers +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation.md) | | [optional] +**args** | **List<String>** | The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image. | [optional] +**command** | **List<String>** | The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image. | [optional] +**cpuLimit** | **String** | | [optional] +**cpuRequest** | **String** | | [optional] +**dedicatedPod** | **Boolean** | Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints>**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints.md) | | [optional] +**env** | [**List<V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv>**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv.md) | Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE` | [optional] +**image** | **String** | | [optional] +**memoryLimit** | **String** | | [optional] +**memoryRequest** | **String** | | [optional] +**mountSources** | **Boolean** | Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. | [optional] +**sourceMapping** | **String** | Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used. | [optional] +**volumeMounts** | [**List<V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts>**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts.md) | List of volumes mounts that should be mounted is this container. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation.md new file mode 100644 index 0000000..571d665 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation + +Annotations that should be added to specific resources for this container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployment** | **Map<String, String>** | Annotations to be added to deployment | [optional] +**service** | **Map<String, String>** | Annotations to be added to service | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints.md new file mode 100644 index 0000000..9138ca4 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv.md new file mode 100644 index 0000000..e800bfc --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**value** | **String** | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts.md new file mode 100644 index 0000000..bbbd2fd --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts + +Volume that should be mounted to a component container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files. | +**path** | **String** | The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/<name>`. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage.md new file mode 100644 index 0000000..58b82fb --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage + +Allows specifying the definition of an image for outer loop builds +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**autoBuild** | **Boolean** | Defines if the image should be built during startup. Default value is `false` | [optional] +**dockerfile** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile.md) | | [optional] +**imageName** | **String** | Name of the image for the resulting outerloop build | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile.md new file mode 100644 index 0000000..086f11d --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile.md @@ -0,0 +1,18 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile + +Allows specifying dockerfile type build +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**args** | **List<String>** | The arguments to supply to the dockerfile build. | [optional] +**buildContext** | **String** | Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container | [optional] +**devfileRegistry** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.md) | | [optional] +**git** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit.md) | | [optional] +**rootRequired** | **Boolean** | Specify if a privileged builder pod is required. Default value is `false` | [optional] +**uri** | **String** | URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.md new file mode 100644 index 0000000..1e3d7ad --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry + +Dockerfile's Devfile Registry source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image. | [optional] +**registryUrl** | **String** | Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit.md new file mode 100644 index 0000000..18e5727 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit.md @@ -0,0 +1,15 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit + +Dockerfile's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.md) | | [optional] +**fileLocation** | **String** | Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile. | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.md new file mode 100644 index 0000000..1e8fd9e --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes.md new file mode 100644 index 0000000..3e6d884 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes + +Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployByDefault** | **Boolean** | Defines if the component should be deployed during startup. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints>**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.md) | | [optional] +**inlined** | **String** | Inlined manifest | [optional] +**uri** | **String** | Location in a file fetched from a uri. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.md new file mode 100644 index 0000000..778ad5d --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift.md new file mode 100644 index 0000000..9e93e98 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift + +Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployByDefault** | **Boolean** | Defines if the component should be deployed during startup. Default value is `false` | [optional] +**endpoints** | [**List<V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints>**](V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.md) | | [optional] +**inlined** | **String** | Inlined manifest | [optional] +**uri** | **String** | Location in a file fetched from a uri. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.md new file mode 100644 index 0000000..1452259 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.md @@ -0,0 +1,42 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume.md new file mode 100644 index 0000000..cf344d5 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume + +Allows specifying the definition of a volume shared by several other components +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ephemeral** | **Boolean** | Ephemeral volumes are not stored persistently across restarts. Defaults to false | [optional] +**size** | **String** | Size of the volume | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes.md new file mode 100644 index 0000000..a9efac0 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes + +Reference to a Kubernetes CRD of type DevWorkspaceTemplate +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | [optional] +**namespace** | **String** | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume.md new file mode 100644 index 0000000..cc5ccc5 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume + +Allows specifying the definition of a volume shared by several other components +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ephemeral** | **Boolean** | Ephemeral volumes are not stored persistently across restarts. Defaults to false | [optional] +**size** | **String** | Size of the volume | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentKubernetes.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentKubernetes.md new file mode 100644 index 0000000..bec51e7 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentKubernetes.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentKubernetes + +Reference to a Kubernetes CRD of type DevWorkspaceTemplate +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**namespace** | **String** | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentProjects.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentProjects.md new file mode 100644 index 0000000..c2b1ae3 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentProjects.md @@ -0,0 +1,16 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentProjects + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**clonePath** | **String** | Path relative to the root of the projects to which this project should be cloned into. This is a unix-style relative path (i.e. uses forward slashes). The path is invalid if it is absolute or tries to escape the project root through the usage of '..'. If not specified, defaults to the project name. | [optional] +**git** | [**V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit**](V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit.md) | | [optional] +**name** | **String** | Project name | +**zip** | [**V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip**](V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip.md) | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit.md new file mode 100644 index 0000000..fff9419 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit + +Project's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom**](V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom.md) | | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom.md new file mode 100644 index 0000000..648166d --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip.md new file mode 100644 index 0000000..066469b --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip + +Project's Zip source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**location** | **String** | Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentStarterProjects.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentStarterProjects.md new file mode 100644 index 0000000..91cce29 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentStarterProjects.md @@ -0,0 +1,17 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentStarterProjects + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**description** | **String** | Description of a starter project | [optional] +**git** | [**V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit**](V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit.md) | | [optional] +**name** | **String** | Project name | +**subDir** | **String** | Sub-directory from a starter project to be used as root for starter project. | [optional] +**zip** | [**V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip**](V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip.md) | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit.md new file mode 100644 index 0000000..6d12ee4 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit + +Project's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom**](V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom.md) | | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom.md new file mode 100644 index 0000000..fe634f1 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip.md b/docs/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip.md new file mode 100644 index 0000000..63b8346 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip + +Project's Zip source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**location** | **String** | Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecProjects.md b/docs/V1alpha2DevWorkspaceTemplateSpecProjects.md new file mode 100644 index 0000000..2ae8677 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecProjects.md @@ -0,0 +1,17 @@ + + +# V1alpha2DevWorkspaceTemplateSpecProjects + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**clonePath** | **String** | Path relative to the root of the projects to which this project should be cloned into. This is a unix-style relative path (i.e. uses forward slashes). The path is invalid if it is absolute or tries to escape the project root through the usage of '..'. If not specified, defaults to the project name. | [optional] +**custom** | [**V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom**](V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom.md) | | [optional] +**git** | [**V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit**](V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit.md) | | [optional] +**name** | **String** | Project name | +**zip** | [**V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip**](V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip.md) | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom.md b/docs/V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom.md new file mode 100644 index 0000000..e8d9713 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom + +Project's Custom source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**embeddedResource** | [**Object**](.md) | | +**projectSourceClass** | **String** | | + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit.md b/docs/V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit.md new file mode 100644 index 0000000..c3fe1ff --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit + +Project's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom**](V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom.md) | | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom.md b/docs/V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom.md new file mode 100644 index 0000000..ee86294 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip.md b/docs/V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip.md new file mode 100644 index 0000000..4531241 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip + +Project's Zip source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**location** | **String** | Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecStarterProjects.md b/docs/V1alpha2DevWorkspaceTemplateSpecStarterProjects.md new file mode 100644 index 0000000..0b9456f --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecStarterProjects.md @@ -0,0 +1,18 @@ + + +# V1alpha2DevWorkspaceTemplateSpecStarterProjects + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**custom** | [**V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom**](V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom.md) | | [optional] +**description** | **String** | Description of a starter project | [optional] +**git** | [**V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit**](V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit.md) | | [optional] +**name** | **String** | Project name | +**subDir** | **String** | Sub-directory from a starter project to be used as root for starter project. | [optional] +**zip** | [**V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip**](V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip.md) | | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom.md b/docs/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom.md new file mode 100644 index 0000000..9920c67 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom + +Project's Custom source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**embeddedResource** | [**Object**](.md) | | +**projectSourceClass** | **String** | | + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit.md b/docs/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit.md new file mode 100644 index 0000000..4618c19 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit + +Project's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom**](V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom.md) | | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom.md b/docs/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom.md new file mode 100644 index 0000000..17354d6 --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip.md b/docs/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip.md new file mode 100644 index 0000000..be3fc5f --- /dev/null +++ b/docs/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip.md @@ -0,0 +1,13 @@ + + +# V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip + +Project's Zip source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**location** | **String** | Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH | [optional] + + + diff --git a/docs/V220Devfile.md b/docs/V220Devfile.md new file mode 100644 index 0000000..35416be --- /dev/null +++ b/docs/V220Devfile.md @@ -0,0 +1,22 @@ + + +# V220Devfile + +Devfile describes the structure of a cloud-native devworkspace and development environment. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**commands** | [**List<V220DevfileCommands>**](V220DevfileCommands.md) | Predefined, ready-to-use, devworkspace-related commands | [optional] +**components** | [**List<V220DevfileComponents>**](V220DevfileComponents.md) | List of the devworkspace components, such as editor and plugins, user-provided containers, or other types of components | [optional] +**events** | [**V220DevfileEvents**](V220DevfileEvents.md) | | [optional] +**metadata** | [**V220DevfileMetadata**](V220DevfileMetadata.md) | | [optional] +**parent** | [**V220DevfileParent**](V220DevfileParent.md) | | [optional] +**projects** | [**List<V220DevfileProjects>**](V220DevfileProjects.md) | Projects worked on in the devworkspace, containing names and sources locations | [optional] +**schemaVersion** | **String** | Devfile schema version | +**starterProjects** | [**List<V220DevfileStarterProjects>**](V220DevfileStarterProjects.md) | StarterProjects is a project that can be used as a starting point when bootstrapping new projects | [optional] +**variables** | **Map<String, String>** | Map of key-value variables used for string replacement in the devfile. Values can be referenced via {{variable-key}} to replace the corresponding value in string fields in the devfile. Replacement cannot be used for - schemaVersion, metadata, parent source - element identifiers, e.g. command id, component name, endpoint name, project name - references to identifiers, e.g. in events, a command's component, container's volume mount name - string enums, e.g. command group kind, endpoint exposure | [optional] + + + diff --git a/docs/V220DevfileCommands.md b/docs/V220DevfileCommands.md new file mode 100644 index 0000000..4338324 --- /dev/null +++ b/docs/V220DevfileCommands.md @@ -0,0 +1,16 @@ + + +# V220DevfileCommands + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**apply** | [**V220DevfileCommandsItemsApply**](V220DevfileCommandsItemsApply.md) | | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**composite** | [**V220DevfileCommandsItemsComposite**](V220DevfileCommandsItemsComposite.md) | | [optional] +**exec** | [**V220DevfileCommandsItemsExec**](V220DevfileCommandsItemsExec.md) | | [optional] +**id** | **String** | Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events. | + + + diff --git a/docs/V220DevfileCommandsItemsApply.md b/docs/V220DevfileCommandsItemsApply.md new file mode 100644 index 0000000..508ab96 --- /dev/null +++ b/docs/V220DevfileCommandsItemsApply.md @@ -0,0 +1,15 @@ + + +# V220DevfileCommandsItemsApply + +Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | **String** | Describes component that will be applied | +**group** | [**V220DevfileCommandsItemsApplyGroup**](V220DevfileCommandsItemsApplyGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] + + + diff --git a/docs/V220DevfileCommandsItemsApplyGroup.md b/docs/V220DevfileCommandsItemsApplyGroup.md new file mode 100644 index 0000000..92fffad --- /dev/null +++ b/docs/V220DevfileCommandsItemsApplyGroup.md @@ -0,0 +1,26 @@ + + +# V220DevfileCommandsItemsApplyGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V220DevfileCommandsItemsComposite.md b/docs/V220DevfileCommandsItemsComposite.md new file mode 100644 index 0000000..8036242 --- /dev/null +++ b/docs/V220DevfileCommandsItemsComposite.md @@ -0,0 +1,16 @@ + + +# V220DevfileCommandsItemsComposite + +Composite command that allows executing several sub-commands either sequentially or concurrently +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commands** | **List<String>** | The commands that comprise this composite command | [optional] +**group** | [**V220DevfileCommandsItemsCompositeGroup**](V220DevfileCommandsItemsCompositeGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] +**parallel** | **Boolean** | Indicates if the sub-commands should be executed concurrently | [optional] + + + diff --git a/docs/V220DevfileCommandsItemsCompositeGroup.md b/docs/V220DevfileCommandsItemsCompositeGroup.md new file mode 100644 index 0000000..cffc4fc --- /dev/null +++ b/docs/V220DevfileCommandsItemsCompositeGroup.md @@ -0,0 +1,26 @@ + + +# V220DevfileCommandsItemsCompositeGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V220DevfileCommandsItemsExec.md b/docs/V220DevfileCommandsItemsExec.md new file mode 100644 index 0000000..e666a6a --- /dev/null +++ b/docs/V220DevfileCommandsItemsExec.md @@ -0,0 +1,19 @@ + + +# V220DevfileCommandsItemsExec + +CLI Command executed in an existing component container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commandLine** | **String** | The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. | +**component** | **String** | Describes component to which given action relates | +**env** | [**List<V220DevfileCommandsItemsExecEnv>**](V220DevfileCommandsItemsExecEnv.md) | Optional list of environment variables that have to be set before running the command | [optional] +**group** | [**V220DevfileCommandsItemsExecGroup**](V220DevfileCommandsItemsExecGroup.md) | | [optional] +**hotReloadCapable** | **Boolean** | Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false` | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] +**workingDir** | **String** | Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. | [optional] + + + diff --git a/docs/V220DevfileCommandsItemsExecEnv.md b/docs/V220DevfileCommandsItemsExecEnv.md new file mode 100644 index 0000000..026c16c --- /dev/null +++ b/docs/V220DevfileCommandsItemsExecEnv.md @@ -0,0 +1,13 @@ + + +# V220DevfileCommandsItemsExecEnv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**value** | **String** | | + + + diff --git a/docs/V220DevfileCommandsItemsExecGroup.md b/docs/V220DevfileCommandsItemsExecGroup.md new file mode 100644 index 0000000..92c6a10 --- /dev/null +++ b/docs/V220DevfileCommandsItemsExecGroup.md @@ -0,0 +1,26 @@ + + +# V220DevfileCommandsItemsExecGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V220DevfileComponents.md b/docs/V220DevfileComponents.md new file mode 100644 index 0000000..c9a7068 --- /dev/null +++ b/docs/V220DevfileComponents.md @@ -0,0 +1,18 @@ + + +# V220DevfileComponents + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**container** | [**V220DevfileComponentsItemsContainer**](V220DevfileComponentsItemsContainer.md) | | [optional] +**image** | [**V220DevfileComponentsItemsImage**](V220DevfileComponentsItemsImage.md) | | [optional] +**kubernetes** | [**V220DevfileComponentsItemsKubernetes**](V220DevfileComponentsItemsKubernetes.md) | | [optional] +**name** | **String** | Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin. | +**openshift** | [**V220DevfileComponentsItemsOpenshift**](V220DevfileComponentsItemsOpenshift.md) | | [optional] +**volume** | [**V220DevfileComponentsItemsVolume**](V220DevfileComponentsItemsVolume.md) | | [optional] + + + diff --git a/docs/V220DevfileComponentsItemsContainer.md b/docs/V220DevfileComponentsItemsContainer.md new file mode 100644 index 0000000..c4745d7 --- /dev/null +++ b/docs/V220DevfileComponentsItemsContainer.md @@ -0,0 +1,26 @@ + + +# V220DevfileComponentsItemsContainer + +Allows adding and configuring devworkspace-related containers +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | [**V220DevfileComponentsItemsContainerAnnotation**](V220DevfileComponentsItemsContainerAnnotation.md) | | [optional] +**args** | **List<String>** | The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image. | [optional] +**command** | **List<String>** | The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image. | [optional] +**cpuLimit** | **String** | | [optional] +**cpuRequest** | **String** | | [optional] +**dedicatedPod** | **Boolean** | Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false` | [optional] +**endpoints** | [**List<V220DevfileComponentsItemsContainerEndpoints>**](V220DevfileComponentsItemsContainerEndpoints.md) | | [optional] +**env** | [**List<V220DevfileComponentsItemsContainerEnv>**](V220DevfileComponentsItemsContainerEnv.md) | Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE` | [optional] +**image** | **String** | | +**memoryLimit** | **String** | | [optional] +**memoryRequest** | **String** | | [optional] +**mountSources** | **Boolean** | Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. | [optional] +**sourceMapping** | **String** | Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used. | [optional] +**volumeMounts** | [**List<V220DevfileComponentsItemsContainerVolumeMounts>**](V220DevfileComponentsItemsContainerVolumeMounts.md) | List of volumes mounts that should be mounted is this container. | [optional] + + + diff --git a/docs/V220DevfileComponentsItemsContainerAnnotation.md b/docs/V220DevfileComponentsItemsContainerAnnotation.md new file mode 100644 index 0000000..81f3a49 --- /dev/null +++ b/docs/V220DevfileComponentsItemsContainerAnnotation.md @@ -0,0 +1,14 @@ + + +# V220DevfileComponentsItemsContainerAnnotation + +Annotations that should be added to specific resources for this container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployment** | **Map<String, String>** | Annotations to be added to deployment | [optional] +**service** | **Map<String, String>** | Annotations to be added to service | [optional] + + + diff --git a/docs/V220DevfileComponentsItemsContainerEndpoints.md b/docs/V220DevfileComponentsItemsContainerEndpoints.md new file mode 100644 index 0000000..f474b3c --- /dev/null +++ b/docs/V220DevfileComponentsItemsContainerEndpoints.md @@ -0,0 +1,42 @@ + + +# V220DevfileComponentsItemsContainerEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V220DevfileComponentsItemsContainerEnv.md b/docs/V220DevfileComponentsItemsContainerEnv.md new file mode 100644 index 0000000..69d16d4 --- /dev/null +++ b/docs/V220DevfileComponentsItemsContainerEnv.md @@ -0,0 +1,13 @@ + + +# V220DevfileComponentsItemsContainerEnv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**value** | **String** | | + + + diff --git a/docs/V220DevfileComponentsItemsContainerVolumeMounts.md b/docs/V220DevfileComponentsItemsContainerVolumeMounts.md new file mode 100644 index 0000000..3afa600 --- /dev/null +++ b/docs/V220DevfileComponentsItemsContainerVolumeMounts.md @@ -0,0 +1,14 @@ + + +# V220DevfileComponentsItemsContainerVolumeMounts + +Volume that should be mounted to a component container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files. | +**path** | **String** | The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/<name>`. | [optional] + + + diff --git a/docs/V220DevfileComponentsItemsImage.md b/docs/V220DevfileComponentsItemsImage.md new file mode 100644 index 0000000..76682cf --- /dev/null +++ b/docs/V220DevfileComponentsItemsImage.md @@ -0,0 +1,15 @@ + + +# V220DevfileComponentsItemsImage + +Allows specifying the definition of an image for outer loop builds +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**autoBuild** | **Boolean** | Defines if the image should be built during startup. Default value is `false` | [optional] +**dockerfile** | [**V220DevfileComponentsItemsImageDockerfile**](V220DevfileComponentsItemsImageDockerfile.md) | | [optional] +**imageName** | **String** | Name of the image for the resulting outerloop build | + + + diff --git a/docs/V220DevfileComponentsItemsImageDockerfile.md b/docs/V220DevfileComponentsItemsImageDockerfile.md new file mode 100644 index 0000000..19785f8 --- /dev/null +++ b/docs/V220DevfileComponentsItemsImageDockerfile.md @@ -0,0 +1,18 @@ + + +# V220DevfileComponentsItemsImageDockerfile + +Allows specifying dockerfile type build +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**args** | **List<String>** | The arguments to supply to the dockerfile build. | [optional] +**buildContext** | **String** | Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container | [optional] +**devfileRegistry** | [**V220DevfileComponentsItemsImageDockerfileDevfileRegistry**](V220DevfileComponentsItemsImageDockerfileDevfileRegistry.md) | | [optional] +**git** | [**V220DevfileComponentsItemsImageDockerfileGit**](V220DevfileComponentsItemsImageDockerfileGit.md) | | [optional] +**rootRequired** | **Boolean** | Specify if a privileged builder pod is required. Default value is `false` | [optional] +**uri** | **String** | URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI. | [optional] + + + diff --git a/docs/V220DevfileComponentsItemsImageDockerfileDevfileRegistry.md b/docs/V220DevfileComponentsItemsImageDockerfileDevfileRegistry.md new file mode 100644 index 0000000..5198224 --- /dev/null +++ b/docs/V220DevfileComponentsItemsImageDockerfileDevfileRegistry.md @@ -0,0 +1,14 @@ + + +# V220DevfileComponentsItemsImageDockerfileDevfileRegistry + +Dockerfile's Devfile Registry source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image. | +**registryUrl** | **String** | Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used. | [optional] + + + diff --git a/docs/V220DevfileComponentsItemsImageDockerfileGit.md b/docs/V220DevfileComponentsItemsImageDockerfileGit.md new file mode 100644 index 0000000..f370e1f --- /dev/null +++ b/docs/V220DevfileComponentsItemsImageDockerfileGit.md @@ -0,0 +1,15 @@ + + +# V220DevfileComponentsItemsImageDockerfileGit + +Dockerfile's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom**](V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom.md) | | [optional] +**fileLocation** | **String** | Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile. | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | + + + diff --git a/docs/V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom.md b/docs/V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom.md new file mode 100644 index 0000000..3f611e0 --- /dev/null +++ b/docs/V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V220DevfileComponentsItemsKubernetes.md b/docs/V220DevfileComponentsItemsKubernetes.md new file mode 100644 index 0000000..22e4c07 --- /dev/null +++ b/docs/V220DevfileComponentsItemsKubernetes.md @@ -0,0 +1,16 @@ + + +# V220DevfileComponentsItemsKubernetes + +Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployByDefault** | **Boolean** | Defines if the component should be deployed during startup. Default value is `false` | [optional] +**endpoints** | [**List<V220DevfileComponentsItemsKubernetesEndpoints>**](V220DevfileComponentsItemsKubernetesEndpoints.md) | | [optional] +**inlined** | **String** | Inlined manifest | [optional] +**uri** | **String** | Location in a file fetched from a uri. | [optional] + + + diff --git a/docs/V220DevfileComponentsItemsKubernetesEndpoints.md b/docs/V220DevfileComponentsItemsKubernetesEndpoints.md new file mode 100644 index 0000000..d2ab307 --- /dev/null +++ b/docs/V220DevfileComponentsItemsKubernetesEndpoints.md @@ -0,0 +1,42 @@ + + +# V220DevfileComponentsItemsKubernetesEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V220DevfileComponentsItemsOpenshift.md b/docs/V220DevfileComponentsItemsOpenshift.md new file mode 100644 index 0000000..4b0350e --- /dev/null +++ b/docs/V220DevfileComponentsItemsOpenshift.md @@ -0,0 +1,16 @@ + + +# V220DevfileComponentsItemsOpenshift + +Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployByDefault** | **Boolean** | Defines if the component should be deployed during startup. Default value is `false` | [optional] +**endpoints** | [**List<V220DevfileComponentsItemsOpenshiftEndpoints>**](V220DevfileComponentsItemsOpenshiftEndpoints.md) | | [optional] +**inlined** | **String** | Inlined manifest | [optional] +**uri** | **String** | Location in a file fetched from a uri. | [optional] + + + diff --git a/docs/V220DevfileComponentsItemsOpenshiftEndpoints.md b/docs/V220DevfileComponentsItemsOpenshiftEndpoints.md new file mode 100644 index 0000000..15a5c64 --- /dev/null +++ b/docs/V220DevfileComponentsItemsOpenshiftEndpoints.md @@ -0,0 +1,42 @@ + + +# V220DevfileComponentsItemsOpenshiftEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V220DevfileComponentsItemsVolume.md b/docs/V220DevfileComponentsItemsVolume.md new file mode 100644 index 0000000..42d60d3 --- /dev/null +++ b/docs/V220DevfileComponentsItemsVolume.md @@ -0,0 +1,14 @@ + + +# V220DevfileComponentsItemsVolume + +Allows specifying the definition of a volume shared by several other components +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ephemeral** | **Boolean** | Ephemeral volumes are not stored persistently across restarts. Defaults to false | [optional] +**size** | **String** | Size of the volume | [optional] + + + diff --git a/docs/V220DevfileEvents.md b/docs/V220DevfileEvents.md new file mode 100644 index 0000000..16b33cb --- /dev/null +++ b/docs/V220DevfileEvents.md @@ -0,0 +1,16 @@ + + +# V220DevfileEvents + +Bindings of commands to events. Each command is referred-to by its name. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**postStart** | **List<String>** | IDs of commands that should be executed after the devworkspace is completely started. In the case of Che-Theia, these commands should be executed after all plugins and extensions have started, including project cloning. This means that those commands are not triggered until the user opens the IDE in his browser. | [optional] +**postStop** | **List<String>** | IDs of commands that should be executed after stopping the devworkspace. | [optional] +**preStart** | **List<String>** | IDs of commands that should be executed before the devworkspace start. Kubernetes-wise, these commands would typically be executed in init containers of the devworkspace POD. | [optional] +**preStop** | **List<String>** | IDs of commands that should be executed before stopping the devworkspace. | [optional] + + + diff --git a/docs/V220DevfileMetadata.md b/docs/V220DevfileMetadata.md new file mode 100644 index 0000000..1cf9f84 --- /dev/null +++ b/docs/V220DevfileMetadata.md @@ -0,0 +1,37 @@ + + +# V220DevfileMetadata + +Optional metadata +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**architectures** | [**List<ArchitecturesEnum>**](#List<ArchitecturesEnum>) | Optional list of processor architectures that the devfile supports, empty list suggests that the devfile can be used on any architecture | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. Deprecated, use the top-level attributes field instead. | [optional] +**description** | **String** | Optional devfile description | [optional] +**displayName** | **String** | Optional devfile display name | [optional] +**globalMemoryLimit** | **String** | Optional devfile global memory limit | [optional] +**icon** | **String** | Optional devfile icon, can be a URI or a relative path in the project | [optional] +**language** | **String** | Optional devfile language | [optional] +**name** | **String** | Optional devfile name | [optional] +**projectType** | **String** | Optional devfile project type | [optional] +**provider** | **String** | Optional devfile provider information | [optional] +**supportUrl** | **String** | Optional link to a page that provides support information | [optional] +**tags** | **List<String>** | Optional devfile tags | [optional] +**version** | **String** | Optional semver-compatible version | [optional] +**website** | **String** | Optional devfile website | [optional] + + + +## Enum: List<ArchitecturesEnum> + +Name | Value +---- | ----- +AMD64 | "amd64" +ARM64 | "arm64" +PPC64LE | "ppc64le" +S390X | "s390x" + + + diff --git a/docs/V220DevfileParent.md b/docs/V220DevfileParent.md new file mode 100644 index 0000000..a77e599 --- /dev/null +++ b/docs/V220DevfileParent.md @@ -0,0 +1,23 @@ + + +# V220DevfileParent + +Parent devworkspace template +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Overrides of attributes encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**commands** | [**List<V220DevfileParentCommands>**](V220DevfileParentCommands.md) | Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**components** | [**List<V220DevfileParentComponents>**](V220DevfileParentComponents.md) | Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**id** | **String** | Id in a registry that contains a Devfile yaml file | [optional] +**kubernetes** | [**V220DevfileParentKubernetes**](V220DevfileParentKubernetes.md) | | [optional] +**projects** | [**List<V220DevfileParentProjects>**](V220DevfileParentProjects.md) | Overrides of projects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**registryUrl** | **String** | Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used. | [optional] +**starterProjects** | [**List<V220DevfileParentStarterProjects>**](V220DevfileParentStarterProjects.md) | Overrides of starterProjects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**uri** | **String** | URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI. | [optional] +**variables** | **Map<String, String>** | Overrides of variables encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. | [optional] +**version** | **String** | Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used. | [optional] + + + diff --git a/docs/V220DevfileParentCommands.md b/docs/V220DevfileParentCommands.md new file mode 100644 index 0000000..594f39c --- /dev/null +++ b/docs/V220DevfileParentCommands.md @@ -0,0 +1,16 @@ + + +# V220DevfileParentCommands + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**apply** | [**V220DevfileParentCommandsItemsApply**](V220DevfileParentCommandsItemsApply.md) | | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**composite** | [**V220DevfileParentCommandsItemsComposite**](V220DevfileParentCommandsItemsComposite.md) | | [optional] +**exec** | [**V220DevfileParentCommandsItemsExec**](V220DevfileParentCommandsItemsExec.md) | | [optional] +**id** | **String** | Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events. | + + + diff --git a/docs/V220DevfileParentCommandsItemsApply.md b/docs/V220DevfileParentCommandsItemsApply.md new file mode 100644 index 0000000..0af9a74 --- /dev/null +++ b/docs/V220DevfileParentCommandsItemsApply.md @@ -0,0 +1,15 @@ + + +# V220DevfileParentCommandsItemsApply + +Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**component** | **String** | Describes component that will be applied | [optional] +**group** | [**V220DevfileParentCommandsItemsApplyGroup**](V220DevfileParentCommandsItemsApplyGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] + + + diff --git a/docs/V220DevfileParentCommandsItemsApplyGroup.md b/docs/V220DevfileParentCommandsItemsApplyGroup.md new file mode 100644 index 0000000..64a02ed --- /dev/null +++ b/docs/V220DevfileParentCommandsItemsApplyGroup.md @@ -0,0 +1,26 @@ + + +# V220DevfileParentCommandsItemsApplyGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V220DevfileParentCommandsItemsComposite.md b/docs/V220DevfileParentCommandsItemsComposite.md new file mode 100644 index 0000000..8837fca --- /dev/null +++ b/docs/V220DevfileParentCommandsItemsComposite.md @@ -0,0 +1,16 @@ + + +# V220DevfileParentCommandsItemsComposite + +Composite command that allows executing several sub-commands either sequentially or concurrently +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commands** | **List<String>** | The commands that comprise this composite command | [optional] +**group** | [**V220DevfileParentCommandsItemsCompositeGroup**](V220DevfileParentCommandsItemsCompositeGroup.md) | | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] +**parallel** | **Boolean** | Indicates if the sub-commands should be executed concurrently | [optional] + + + diff --git a/docs/V220DevfileParentCommandsItemsCompositeGroup.md b/docs/V220DevfileParentCommandsItemsCompositeGroup.md new file mode 100644 index 0000000..71a1bea --- /dev/null +++ b/docs/V220DevfileParentCommandsItemsCompositeGroup.md @@ -0,0 +1,26 @@ + + +# V220DevfileParentCommandsItemsCompositeGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V220DevfileParentCommandsItemsExec.md b/docs/V220DevfileParentCommandsItemsExec.md new file mode 100644 index 0000000..1eec00d --- /dev/null +++ b/docs/V220DevfileParentCommandsItemsExec.md @@ -0,0 +1,19 @@ + + +# V220DevfileParentCommandsItemsExec + +CLI Command executed in an existing component container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commandLine** | **String** | The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. | [optional] +**component** | **String** | Describes component to which given action relates | [optional] +**env** | [**List<V220DevfileParentCommandsItemsExecEnv>**](V220DevfileParentCommandsItemsExecEnv.md) | Optional list of environment variables that have to be set before running the command | [optional] +**group** | [**V220DevfileParentCommandsItemsExecGroup**](V220DevfileParentCommandsItemsExecGroup.md) | | [optional] +**hotReloadCapable** | **Boolean** | Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false` | [optional] +**label** | **String** | Optional label that provides a label for this command to be used in Editor UI menus for example | [optional] +**workingDir** | **String** | Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. | [optional] + + + diff --git a/docs/V220DevfileParentCommandsItemsExecEnv.md b/docs/V220DevfileParentCommandsItemsExecEnv.md new file mode 100644 index 0000000..092edda --- /dev/null +++ b/docs/V220DevfileParentCommandsItemsExecEnv.md @@ -0,0 +1,13 @@ + + +# V220DevfileParentCommandsItemsExecEnv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**value** | **String** | | [optional] + + + diff --git a/docs/V220DevfileParentCommandsItemsExecGroup.md b/docs/V220DevfileParentCommandsItemsExecGroup.md new file mode 100644 index 0000000..67c9b46 --- /dev/null +++ b/docs/V220DevfileParentCommandsItemsExecGroup.md @@ -0,0 +1,26 @@ + + +# V220DevfileParentCommandsItemsExecGroup + +Defines the group this command is part of +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**isDefault** | **Boolean** | Identifies the default command for a given group kind | [optional] +**kind** | [**KindEnum**](#KindEnum) | Kind of group the command is part of | [optional] + + + +## Enum: KindEnum + +Name | Value +---- | ----- +BUILD | "build" +RUN | "run" +TEST | "test" +DEBUG | "debug" +DEPLOY | "deploy" + + + diff --git a/docs/V220DevfileParentComponents.md b/docs/V220DevfileParentComponents.md new file mode 100644 index 0000000..cccf300 --- /dev/null +++ b/docs/V220DevfileParentComponents.md @@ -0,0 +1,18 @@ + + +# V220DevfileParentComponents + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**container** | [**V220DevfileParentComponentsItemsContainer**](V220DevfileParentComponentsItemsContainer.md) | | [optional] +**image** | [**V220DevfileParentComponentsItemsImage**](V220DevfileParentComponentsItemsImage.md) | | [optional] +**kubernetes** | [**V220DevfileParentComponentsItemsKubernetes**](V220DevfileParentComponentsItemsKubernetes.md) | | [optional] +**name** | **String** | Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin. | +**openshift** | [**V220DevfileParentComponentsItemsOpenshift**](V220DevfileParentComponentsItemsOpenshift.md) | | [optional] +**volume** | [**V220DevfileParentComponentsItemsVolume**](V220DevfileParentComponentsItemsVolume.md) | | [optional] + + + diff --git a/docs/V220DevfileParentComponentsItemsContainer.md b/docs/V220DevfileParentComponentsItemsContainer.md new file mode 100644 index 0000000..dea7deb --- /dev/null +++ b/docs/V220DevfileParentComponentsItemsContainer.md @@ -0,0 +1,26 @@ + + +# V220DevfileParentComponentsItemsContainer + +Allows adding and configuring devworkspace-related containers +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | [**V220DevfileParentComponentsItemsContainerAnnotation**](V220DevfileParentComponentsItemsContainerAnnotation.md) | | [optional] +**args** | **List<String>** | The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image. | [optional] +**command** | **List<String>** | The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image. | [optional] +**cpuLimit** | **String** | | [optional] +**cpuRequest** | **String** | | [optional] +**dedicatedPod** | **Boolean** | Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false` | [optional] +**endpoints** | [**List<V220DevfileParentComponentsItemsContainerEndpoints>**](V220DevfileParentComponentsItemsContainerEndpoints.md) | | [optional] +**env** | [**List<V220DevfileParentComponentsItemsContainerEnv>**](V220DevfileParentComponentsItemsContainerEnv.md) | Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE` | [optional] +**image** | **String** | | [optional] +**memoryLimit** | **String** | | [optional] +**memoryRequest** | **String** | | [optional] +**mountSources** | **Boolean** | Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. | [optional] +**sourceMapping** | **String** | Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used. | [optional] +**volumeMounts** | [**List<V220DevfileParentComponentsItemsContainerVolumeMounts>**](V220DevfileParentComponentsItemsContainerVolumeMounts.md) | List of volumes mounts that should be mounted is this container. | [optional] + + + diff --git a/docs/V220DevfileParentComponentsItemsContainerAnnotation.md b/docs/V220DevfileParentComponentsItemsContainerAnnotation.md new file mode 100644 index 0000000..3845ee7 --- /dev/null +++ b/docs/V220DevfileParentComponentsItemsContainerAnnotation.md @@ -0,0 +1,14 @@ + + +# V220DevfileParentComponentsItemsContainerAnnotation + +Annotations that should be added to specific resources for this container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployment** | **Map<String, String>** | Annotations to be added to deployment | [optional] +**service** | **Map<String, String>** | Annotations to be added to service | [optional] + + + diff --git a/docs/V220DevfileParentComponentsItemsContainerEndpoints.md b/docs/V220DevfileParentComponentsItemsContainerEndpoints.md new file mode 100644 index 0000000..2744327 --- /dev/null +++ b/docs/V220DevfileParentComponentsItemsContainerEndpoints.md @@ -0,0 +1,42 @@ + + +# V220DevfileParentComponentsItemsContainerEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V220DevfileParentComponentsItemsContainerEnv.md b/docs/V220DevfileParentComponentsItemsContainerEnv.md new file mode 100644 index 0000000..c68b584 --- /dev/null +++ b/docs/V220DevfileParentComponentsItemsContainerEnv.md @@ -0,0 +1,13 @@ + + +# V220DevfileParentComponentsItemsContainerEnv + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**value** | **String** | | [optional] + + + diff --git a/docs/V220DevfileParentComponentsItemsContainerVolumeMounts.md b/docs/V220DevfileParentComponentsItemsContainerVolumeMounts.md new file mode 100644 index 0000000..575c26e --- /dev/null +++ b/docs/V220DevfileParentComponentsItemsContainerVolumeMounts.md @@ -0,0 +1,14 @@ + + +# V220DevfileParentComponentsItemsContainerVolumeMounts + +Volume that should be mounted to a component container +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files. | +**path** | **String** | The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/<name>`. | [optional] + + + diff --git a/docs/V220DevfileParentComponentsItemsImage.md b/docs/V220DevfileParentComponentsItemsImage.md new file mode 100644 index 0000000..2bd4e63 --- /dev/null +++ b/docs/V220DevfileParentComponentsItemsImage.md @@ -0,0 +1,15 @@ + + +# V220DevfileParentComponentsItemsImage + +Allows specifying the definition of an image for outer loop builds +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**autoBuild** | **Boolean** | Defines if the image should be built during startup. Default value is `false` | [optional] +**dockerfile** | [**V220DevfileParentComponentsItemsImageDockerfile**](V220DevfileParentComponentsItemsImageDockerfile.md) | | [optional] +**imageName** | **String** | Name of the image for the resulting outerloop build | [optional] + + + diff --git a/docs/V220DevfileParentComponentsItemsImageDockerfile.md b/docs/V220DevfileParentComponentsItemsImageDockerfile.md new file mode 100644 index 0000000..abc2c2f --- /dev/null +++ b/docs/V220DevfileParentComponentsItemsImageDockerfile.md @@ -0,0 +1,18 @@ + + +# V220DevfileParentComponentsItemsImageDockerfile + +Allows specifying dockerfile type build +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**args** | **List<String>** | The arguments to supply to the dockerfile build. | [optional] +**buildContext** | **String** | Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container | [optional] +**devfileRegistry** | [**V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry**](V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry.md) | | [optional] +**git** | [**V220DevfileParentComponentsItemsImageDockerfileGit**](V220DevfileParentComponentsItemsImageDockerfileGit.md) | | [optional] +**rootRequired** | **Boolean** | Specify if a privileged builder pod is required. Default value is `false` | [optional] +**uri** | **String** | URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI. | [optional] + + + diff --git a/docs/V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry.md b/docs/V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry.md new file mode 100644 index 0000000..d2641be --- /dev/null +++ b/docs/V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry.md @@ -0,0 +1,14 @@ + + +# V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry + +Dockerfile's Devfile Registry source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image. | [optional] +**registryUrl** | **String** | Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used. | [optional] + + + diff --git a/docs/V220DevfileParentComponentsItemsImageDockerfileGit.md b/docs/V220DevfileParentComponentsItemsImageDockerfileGit.md new file mode 100644 index 0000000..dd54887 --- /dev/null +++ b/docs/V220DevfileParentComponentsItemsImageDockerfileGit.md @@ -0,0 +1,15 @@ + + +# V220DevfileParentComponentsItemsImageDockerfileGit + +Dockerfile's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom**](V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom.md) | | [optional] +**fileLocation** | **String** | Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile. | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | [optional] + + + diff --git a/docs/V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom.md b/docs/V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom.md new file mode 100644 index 0000000..1009de0 --- /dev/null +++ b/docs/V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V220DevfileParentComponentsItemsKubernetes.md b/docs/V220DevfileParentComponentsItemsKubernetes.md new file mode 100644 index 0000000..2e15434 --- /dev/null +++ b/docs/V220DevfileParentComponentsItemsKubernetes.md @@ -0,0 +1,16 @@ + + +# V220DevfileParentComponentsItemsKubernetes + +Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployByDefault** | **Boolean** | Defines if the component should be deployed during startup. Default value is `false` | [optional] +**endpoints** | [**List<V220DevfileParentComponentsItemsKubernetesEndpoints>**](V220DevfileParentComponentsItemsKubernetesEndpoints.md) | | [optional] +**inlined** | **String** | Inlined manifest | [optional] +**uri** | **String** | Location in a file fetched from a uri. | [optional] + + + diff --git a/docs/V220DevfileParentComponentsItemsKubernetesEndpoints.md b/docs/V220DevfileParentComponentsItemsKubernetesEndpoints.md new file mode 100644 index 0000000..e27e4f2 --- /dev/null +++ b/docs/V220DevfileParentComponentsItemsKubernetesEndpoints.md @@ -0,0 +1,42 @@ + + +# V220DevfileParentComponentsItemsKubernetesEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V220DevfileParentComponentsItemsOpenshift.md b/docs/V220DevfileParentComponentsItemsOpenshift.md new file mode 100644 index 0000000..7dc08e7 --- /dev/null +++ b/docs/V220DevfileParentComponentsItemsOpenshift.md @@ -0,0 +1,16 @@ + + +# V220DevfileParentComponentsItemsOpenshift + +Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployByDefault** | **Boolean** | Defines if the component should be deployed during startup. Default value is `false` | [optional] +**endpoints** | [**List<V220DevfileParentComponentsItemsOpenshiftEndpoints>**](V220DevfileParentComponentsItemsOpenshiftEndpoints.md) | | [optional] +**inlined** | **String** | Inlined manifest | [optional] +**uri** | **String** | Location in a file fetched from a uri. | [optional] + + + diff --git a/docs/V220DevfileParentComponentsItemsOpenshiftEndpoints.md b/docs/V220DevfileParentComponentsItemsOpenshiftEndpoints.md new file mode 100644 index 0000000..5167fc3 --- /dev/null +++ b/docs/V220DevfileParentComponentsItemsOpenshiftEndpoints.md @@ -0,0 +1,42 @@ + + +# V220DevfileParentComponentsItemsOpenshiftEndpoints + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**annotation** | **Map<String, String>** | Annotations to be added to Kubernetes Ingress or Openshift Route | [optional] +**attributes** | [**Object**](.md) | Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", | [optional] +**exposure** | [**ExposureEnum**](#ExposureEnum) | Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` | [optional] +**name** | **String** | | +**path** | **String** | Path of the endpoint URL | [optional] +**protocol** | [**ProtocolEnum**](#ProtocolEnum) | Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` | [optional] +**secure** | **Boolean** | Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. | [optional] +**targetPort** | **Integer** | Port number to be used within the container component. The same port cannot be used by two different container components. | [optional] + + + +## Enum: ExposureEnum + +Name | Value +---- | ----- +PUBLIC | "public" +INTERNAL | "internal" +NONE | "none" + + + +## Enum: ProtocolEnum + +Name | Value +---- | ----- +HTTP | "http" +HTTPS | "https" +WS | "ws" +WSS | "wss" +TCP | "tcp" +UDP | "udp" + + + diff --git a/docs/V220DevfileParentComponentsItemsVolume.md b/docs/V220DevfileParentComponentsItemsVolume.md new file mode 100644 index 0000000..e413c9d --- /dev/null +++ b/docs/V220DevfileParentComponentsItemsVolume.md @@ -0,0 +1,14 @@ + + +# V220DevfileParentComponentsItemsVolume + +Allows specifying the definition of a volume shared by several other components +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ephemeral** | **Boolean** | Ephemeral volumes are not stored persistently across restarts. Defaults to false | [optional] +**size** | **String** | Size of the volume | [optional] + + + diff --git a/docs/V220DevfileParentKubernetes.md b/docs/V220DevfileParentKubernetes.md new file mode 100644 index 0000000..985b8fb --- /dev/null +++ b/docs/V220DevfileParentKubernetes.md @@ -0,0 +1,14 @@ + + +# V220DevfileParentKubernetes + +Reference to a Kubernetes CRD of type DevWorkspaceTemplate +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | +**namespace** | **String** | | [optional] + + + diff --git a/docs/V220DevfileParentProjects.md b/docs/V220DevfileParentProjects.md new file mode 100644 index 0000000..dc25ce3 --- /dev/null +++ b/docs/V220DevfileParentProjects.md @@ -0,0 +1,16 @@ + + +# V220DevfileParentProjects + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**clonePath** | **String** | Path relative to the root of the projects to which this project should be cloned into. This is a unix-style relative path (i.e. uses forward slashes). The path is invalid if it is absolute or tries to escape the project root through the usage of '..'. If not specified, defaults to the project name. | [optional] +**git** | [**V220DevfileParentProjectsItemsGit**](V220DevfileParentProjectsItemsGit.md) | | [optional] +**name** | **String** | Project name | +**zip** | [**V220DevfileParentProjectsItemsZip**](V220DevfileParentProjectsItemsZip.md) | | [optional] + + + diff --git a/docs/V220DevfileParentProjectsItemsGit.md b/docs/V220DevfileParentProjectsItemsGit.md new file mode 100644 index 0000000..ff0bf10 --- /dev/null +++ b/docs/V220DevfileParentProjectsItemsGit.md @@ -0,0 +1,14 @@ + + +# V220DevfileParentProjectsItemsGit + +Project's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V220DevfileParentProjectsItemsGitCheckoutFrom**](V220DevfileParentProjectsItemsGitCheckoutFrom.md) | | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | [optional] + + + diff --git a/docs/V220DevfileParentProjectsItemsGitCheckoutFrom.md b/docs/V220DevfileParentProjectsItemsGitCheckoutFrom.md new file mode 100644 index 0000000..e9647da --- /dev/null +++ b/docs/V220DevfileParentProjectsItemsGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V220DevfileParentProjectsItemsGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V220DevfileParentProjectsItemsZip.md b/docs/V220DevfileParentProjectsItemsZip.md new file mode 100644 index 0000000..2334ffb --- /dev/null +++ b/docs/V220DevfileParentProjectsItemsZip.md @@ -0,0 +1,13 @@ + + +# V220DevfileParentProjectsItemsZip + +Project's Zip source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**location** | **String** | Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH | [optional] + + + diff --git a/docs/V220DevfileParentStarterProjects.md b/docs/V220DevfileParentStarterProjects.md new file mode 100644 index 0000000..c93d5af --- /dev/null +++ b/docs/V220DevfileParentStarterProjects.md @@ -0,0 +1,17 @@ + + +# V220DevfileParentStarterProjects + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**description** | **String** | Description of a starter project | [optional] +**git** | [**V220DevfileParentStarterProjectsItemsGit**](V220DevfileParentStarterProjectsItemsGit.md) | | [optional] +**name** | **String** | Project name | +**subDir** | **String** | Sub-directory from a starter project to be used as root for starter project. | [optional] +**zip** | [**V220DevfileParentStarterProjectsItemsZip**](V220DevfileParentStarterProjectsItemsZip.md) | | [optional] + + + diff --git a/docs/V220DevfileParentStarterProjectsItemsGit.md b/docs/V220DevfileParentStarterProjectsItemsGit.md new file mode 100644 index 0000000..aeaa982 --- /dev/null +++ b/docs/V220DevfileParentStarterProjectsItemsGit.md @@ -0,0 +1,14 @@ + + +# V220DevfileParentStarterProjectsItemsGit + +Project's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V220DevfileParentStarterProjectsItemsGitCheckoutFrom**](V220DevfileParentStarterProjectsItemsGitCheckoutFrom.md) | | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | [optional] + + + diff --git a/docs/V220DevfileParentStarterProjectsItemsGitCheckoutFrom.md b/docs/V220DevfileParentStarterProjectsItemsGitCheckoutFrom.md new file mode 100644 index 0000000..fa0826e --- /dev/null +++ b/docs/V220DevfileParentStarterProjectsItemsGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V220DevfileParentStarterProjectsItemsGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V220DevfileParentStarterProjectsItemsZip.md b/docs/V220DevfileParentStarterProjectsItemsZip.md new file mode 100644 index 0000000..5c514a7 --- /dev/null +++ b/docs/V220DevfileParentStarterProjectsItemsZip.md @@ -0,0 +1,13 @@ + + +# V220DevfileParentStarterProjectsItemsZip + +Project's Zip source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**location** | **String** | Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH | [optional] + + + diff --git a/docs/V220DevfileProjects.md b/docs/V220DevfileProjects.md new file mode 100644 index 0000000..59ad140 --- /dev/null +++ b/docs/V220DevfileProjects.md @@ -0,0 +1,16 @@ + + +# V220DevfileProjects + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**clonePath** | **String** | Path relative to the root of the projects to which this project should be cloned into. This is a unix-style relative path (i.e. uses forward slashes). The path is invalid if it is absolute or tries to escape the project root through the usage of '..'. If not specified, defaults to the project name. | [optional] +**git** | [**V220DevfileProjectsItemsGit**](V220DevfileProjectsItemsGit.md) | | [optional] +**name** | **String** | Project name | +**zip** | [**V220DevfileProjectsItemsZip**](V220DevfileProjectsItemsZip.md) | | [optional] + + + diff --git a/docs/V220DevfileProjectsItemsGit.md b/docs/V220DevfileProjectsItemsGit.md new file mode 100644 index 0000000..42f6c88 --- /dev/null +++ b/docs/V220DevfileProjectsItemsGit.md @@ -0,0 +1,14 @@ + + +# V220DevfileProjectsItemsGit + +Project's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V220DevfileProjectsItemsGitCheckoutFrom**](V220DevfileProjectsItemsGitCheckoutFrom.md) | | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | + + + diff --git a/docs/V220DevfileProjectsItemsGitCheckoutFrom.md b/docs/V220DevfileProjectsItemsGitCheckoutFrom.md new file mode 100644 index 0000000..f0f1c63 --- /dev/null +++ b/docs/V220DevfileProjectsItemsGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V220DevfileProjectsItemsGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V220DevfileProjectsItemsZip.md b/docs/V220DevfileProjectsItemsZip.md new file mode 100644 index 0000000..7f7b744 --- /dev/null +++ b/docs/V220DevfileProjectsItemsZip.md @@ -0,0 +1,13 @@ + + +# V220DevfileProjectsItemsZip + +Project's Zip source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**location** | **String** | Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH | [optional] + + + diff --git a/docs/V220DevfileStarterProjects.md b/docs/V220DevfileStarterProjects.md new file mode 100644 index 0000000..cb71677 --- /dev/null +++ b/docs/V220DevfileStarterProjects.md @@ -0,0 +1,17 @@ + + +# V220DevfileStarterProjects + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | [**Object**](.md) | Map of implementation-dependant free-form YAML attributes. | [optional] +**description** | **String** | Description of a starter project | [optional] +**git** | [**V220DevfileStarterProjectsItemsGit**](V220DevfileStarterProjectsItemsGit.md) | | [optional] +**name** | **String** | Project name | +**subDir** | **String** | Sub-directory from a starter project to be used as root for starter project. | [optional] +**zip** | [**V220DevfileStarterProjectsItemsZip**](V220DevfileStarterProjectsItemsZip.md) | | [optional] + + + diff --git a/docs/V220DevfileStarterProjectsItemsGit.md b/docs/V220DevfileStarterProjectsItemsGit.md new file mode 100644 index 0000000..d7debbc --- /dev/null +++ b/docs/V220DevfileStarterProjectsItemsGit.md @@ -0,0 +1,14 @@ + + +# V220DevfileStarterProjectsItemsGit + +Project's Git source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**checkoutFrom** | [**V220DevfileStarterProjectsItemsGitCheckoutFrom**](V220DevfileStarterProjectsItemsGitCheckoutFrom.md) | | [optional] +**remotes** | **Map<String, String>** | The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. | + + + diff --git a/docs/V220DevfileStarterProjectsItemsGitCheckoutFrom.md b/docs/V220DevfileStarterProjectsItemsGitCheckoutFrom.md new file mode 100644 index 0000000..4227a86 --- /dev/null +++ b/docs/V220DevfileStarterProjectsItemsGitCheckoutFrom.md @@ -0,0 +1,14 @@ + + +# V220DevfileStarterProjectsItemsGitCheckoutFrom + +Defines from what the project should be checked out. Required if there are more than one remote configured +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**remote** | **String** | The remote name should be used as init. Required if there are more than one remote configured | [optional] +**revision** | **String** | The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. | [optional] + + + diff --git a/docs/V220DevfileStarterProjectsItemsZip.md b/docs/V220DevfileStarterProjectsItemsZip.md new file mode 100644 index 0000000..04998e0 --- /dev/null +++ b/docs/V220DevfileStarterProjectsItemsZip.md @@ -0,0 +1,13 @@ + + +# V220DevfileStarterProjectsItemsZip + +Project's Zip source +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**location** | **String** | Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH | [optional] + + + diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..05644f0 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,2 @@ +# Uncomment to build for Android +#target = android \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..cc4fdc2 Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..9492014 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..2fe81a7 --- /dev/null +++ b/gradlew @@ -0,0 +1,183 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..9618d8d --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,100 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..2d7ceb3 --- /dev/null +++ b/pom.xml @@ -0,0 +1,275 @@ + + 4.0.0 + io.github.che-incubator + devfile-java-client + jar + devfile-java-client + 1.0-SNAPSHOT + https://github.com/openapitools/openapi-generator + OpenAPI Java + + scm:git:git@github.com:openapitools/openapi-generator.git + scm:git:git@github.com:openapitools/openapi-generator.git + https://github.com/openapitools/openapi-generator + + + + + Unlicense + http://unlicense.org + repo + + + + + + OpenAPI-Generator Contributors + team@openapitools.org + OpenAPITools.org + http://openapitools.org + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + true + 128m + 512m + + -Xlint:all + -J-Xss4m + + + + + org.apache.maven.plugins + maven-enforcer-plugin + 3.0.0-M1 + + + enforce-maven + + enforce + + + + + 2.2.0 + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0-M4 + + + + loggerPath + conf/log4j.properties + + + -Xms512m -Xmx1500m + methods + 10 + + + + maven-dependency-plugin + + + package + + copy-dependencies + + + ${project.build.directory}/lib + + + + + + + + org.apache.maven.plugins + maven-jar-plugin + 2.2 + + + + jar + test-jar + + + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 1.10 + + + add_sources + generate-sources + + add-source + + + + src/main/java + + + + + add_test_sources + generate-test-sources + + add-test-source + + + + src/test/java + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.1.1 + + + attach-javadocs + + jar + + + + + none + + + http.response.details + a + Http Response Details: + + + + + + org.apache.maven.plugins + maven-source-plugin + 2.2.1 + + + attach-sources + + jar-no-fork + + + + + + + + + + sign-artifacts + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.5 + + + sign-artifacts + verify + + sign + + + + + + + + + + + + io.swagger + swagger-annotations + ${swagger-core-version} + + + + com.google.code.findbugs + jsr305 + 3.0.2 + + + com.squareup.okhttp3 + okhttp + ${okhttp-version} + + + com.squareup.okhttp3 + logging-interceptor + ${okhttp-version} + + + com.google.code.gson + gson + ${gson-version} + + + io.gsonfire + gson-fire + ${gson-fire-version} + + + org.apache.commons + commons-lang3 + ${commons-lang3-version} + + + javax.annotation + javax.annotation-api + ${javax-annotation-version} + + + + junit + junit + ${junit-version} + test + + + + 1.8 + ${java.version} + ${java.version} + 1.8.4 + 1.5.24 + 3.14.7 + 2.8.6 + 3.10 + 1.3.2 + 4.13 + UTF-8 + + diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..d10dae5 --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +rootProject.name = "devfile-java-client" \ No newline at end of file diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml new file mode 100644 index 0000000..2d2f811 --- /dev/null +++ b/src/main/AndroidManifest.xml @@ -0,0 +1,3 @@ + + + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ApiCallback.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ApiCallback.java new file mode 100644 index 0000000..a0e03e1 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ApiCallback.java @@ -0,0 +1,62 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client; + +import java.io.IOException; + +import java.util.Map; +import java.util.List; + +/** + * Callback for asynchronous API call. + * + * @param The return type + */ +public interface ApiCallback { + /** + * This is called when the API call fails. + * + * @param e The exception causing the failure + * @param statusCode Status code of the response if available, otherwise it would be 0 + * @param responseHeaders Headers of the response if available, otherwise it would be null + */ + void onFailure(ApiException e, int statusCode, Map> responseHeaders); + + /** + * This is called when the API call succeeded. + * + * @param result The result deserialized from response + * @param statusCode Status code of the response + * @param responseHeaders Headers of the response + */ + void onSuccess(T result, int statusCode, Map> responseHeaders); + + /** + * This is called when the API upload processing. + * + * @param bytesWritten bytes Written + * @param contentLength content length of request body + * @param done write end + */ + void onUploadProgress(long bytesWritten, long contentLength, boolean done); + + /** + * This is called when the API downlond processing. + * + * @param bytesRead bytes Read + * @param contentLength content lenngth of the response + * @param done Read end + */ + void onDownloadProgress(long bytesRead, long contentLength, boolean done); +} diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ApiClient.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ApiClient.java new file mode 100644 index 0000000..f39135f --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ApiClient.java @@ -0,0 +1,1329 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client; + +import okhttp3.*; +import okhttp3.internal.http.HttpMethod; +import okhttp3.internal.tls.OkHostnameVerifier; +import okhttp3.logging.HttpLoggingInterceptor; +import okhttp3.logging.HttpLoggingInterceptor.Level; +import okio.BufferedSink; +import okio.Okio; + +import javax.net.ssl.*; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.UnsupportedEncodingException; +import java.lang.reflect.Type; +import java.net.URI; +import java.net.URLConnection; +import java.net.URLEncoder; +import java.security.GeneralSecurityException; +import java.security.KeyStore; +import java.security.SecureRandom; +import java.security.cert.Certificate; +import java.security.cert.CertificateException; +import java.security.cert.CertificateFactory; +import java.security.cert.X509Certificate; +import java.text.DateFormat; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.Map.Entry; +import java.util.concurrent.TimeUnit; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import io.github.che_incubator.devfile.kubernetes.client.auth.Authentication; +import io.github.che_incubator.devfile.kubernetes.client.auth.HttpBasicAuth; +import io.github.che_incubator.devfile.kubernetes.client.auth.HttpBearerAuth; +import io.github.che_incubator.devfile.kubernetes.client.auth.ApiKeyAuth; + +public class ApiClient { + + private String basePath = "http://localhost"; + private boolean debugging = false; + private Map defaultHeaderMap = new HashMap(); + private Map defaultCookieMap = new HashMap(); + private String tempFolderPath = null; + + private Map authentications; + + private DateFormat dateFormat; + private DateFormat datetimeFormat; + private boolean lenientDatetimeFormat; + private int dateLength; + + private InputStream sslCaCert; + private boolean verifyingSsl; + private KeyManager[] keyManagers; + + private OkHttpClient httpClient; + private JSON json; + + private HttpLoggingInterceptor loggingInterceptor; + + /* + * Basic constructor for ApiClient + */ + public ApiClient() { + init(); + initHttpClient(); + + // Setup authentications (key: authentication name, value: authentication). + // Prevent the authentications from being modified. + authentications = Collections.unmodifiableMap(authentications); + } + + private void initHttpClient() { + initHttpClient(Collections.emptyList()); + } + + private void initHttpClient(List interceptors) { + OkHttpClient.Builder builder = new OkHttpClient.Builder(); + builder.addNetworkInterceptor(getProgressInterceptor()); + for (Interceptor interceptor: interceptors) { + builder.addInterceptor(interceptor); + } + + httpClient = builder.build(); + } + + private void init() { + verifyingSsl = true; + + json = new JSON(); + + // Set default User-Agent. + setUserAgent("Kubernetes Java Client/5.0-SNAPSHOT"); + + authentications = new HashMap(); + } + + /** + * Get base path + * + * @return Base path + */ + public String getBasePath() { + return basePath; + } + + /** + * Set base path + * + * @param basePath Base path of the URL (e.g http://localhost + * @return An instance of OkHttpClient + */ + public ApiClient setBasePath(String basePath) { + this.basePath = basePath; + return this; + } + + /** + * Get HTTP client + * + * @return An instance of OkHttpClient + */ + public OkHttpClient getHttpClient() { + return httpClient; + } + + /** + * Set HTTP client, which must never be null. + * + * @param newHttpClient An instance of OkHttpClient + * @return Api Client + * @throws NullPointerException when newHttpClient is null + */ + public ApiClient setHttpClient(OkHttpClient newHttpClient) { + this.httpClient = Objects.requireNonNull(newHttpClient, "HttpClient must not be null!"); + return this; + } + + /** + * Get JSON + * + * @return JSON object + */ + public JSON getJSON() { + return json; + } + + /** + * Set JSON + * + * @param json JSON object + * @return Api client + */ + public ApiClient setJSON(JSON json) { + this.json = json; + return this; + } + + /** + * True if isVerifyingSsl flag is on + * + * @return True if isVerifySsl flag is on + */ + public boolean isVerifyingSsl() { + return verifyingSsl; + } + + /** + * Configure whether to verify certificate and hostname when making https requests. + * Default to true. + * NOTE: Do NOT set to false in production code, otherwise you would face multiple types of cryptographic attacks. + * + * @param verifyingSsl True to verify TLS/SSL connection + * @return ApiClient + */ + public ApiClient setVerifyingSsl(boolean verifyingSsl) { + this.verifyingSsl = verifyingSsl; + applySslSettings(); + return this; + } + + /** + * Get SSL CA cert. + * + * @return Input stream to the SSL CA cert + */ + public InputStream getSslCaCert() { + return sslCaCert; + } + + /** + * Configure the CA certificate to be trusted when making https requests. + * Use null to reset to default. + * + * @param sslCaCert input stream for SSL CA cert + * @return ApiClient + */ + public ApiClient setSslCaCert(InputStream sslCaCert) { + this.sslCaCert = sslCaCert; + applySslSettings(); + return this; + } + + public KeyManager[] getKeyManagers() { + return keyManagers; + } + + /** + * Configure client keys to use for authorization in an SSL session. + * Use null to reset to default. + * + * @param managers The KeyManagers to use + * @return ApiClient + */ + public ApiClient setKeyManagers(KeyManager[] managers) { + this.keyManagers = managers; + applySslSettings(); + return this; + } + + public DateFormat getDateFormat() { + return dateFormat; + } + + public ApiClient setDateFormat(DateFormat dateFormat) { + this.json.setDateFormat(dateFormat); + return this; + } + + public ApiClient setSqlDateFormat(DateFormat dateFormat) { + this.json.setSqlDateFormat(dateFormat); + return this; + } + + public ApiClient setOffsetDateTimeFormat(DateTimeFormatter dateFormat) { + this.json.setOffsetDateTimeFormat(dateFormat); + return this; + } + + public ApiClient setLocalDateFormat(DateTimeFormatter dateFormat) { + this.json.setLocalDateFormat(dateFormat); + return this; + } + + public ApiClient setLenientOnJson(boolean lenientOnJson) { + this.json.setLenientOnJson(lenientOnJson); + return this; + } + + /** + * Get authentications (key: authentication name, value: authentication). + * + * @return Map of authentication objects + */ + public Map getAuthentications() { + return authentications; + } + + /** + * Get authentication for the given name. + * + * @param authName The authentication name + * @return The authentication, null if not found + */ + public Authentication getAuthentication(String authName) { + return authentications.get(authName); + } + + /** + * Helper method to set username for the first HTTP basic authentication. + * + * @param username Username + */ + public void setUsername(String username) { + for (Authentication auth : authentications.values()) { + if (auth instanceof HttpBasicAuth) { + ((HttpBasicAuth) auth).setUsername(username); + return; + } + } + throw new RuntimeException("No HTTP basic authentication configured!"); + } + + /** + * Helper method to set password for the first HTTP basic authentication. + * + * @param password Password + */ + public void setPassword(String password) { + for (Authentication auth : authentications.values()) { + if (auth instanceof HttpBasicAuth) { + ((HttpBasicAuth) auth).setPassword(password); + return; + } + } + throw new RuntimeException("No HTTP basic authentication configured!"); + } + + /** + * Helper method to set API key value for the first API key authentication. + * + * @param apiKey API key + */ + public void setApiKey(String apiKey) { + for (Authentication auth : authentications.values()) { + if (auth instanceof ApiKeyAuth) { + ((ApiKeyAuth) auth).setApiKey(apiKey); + return; + } + } + throw new RuntimeException("No API key authentication configured!"); + } + + /** + * Helper method to set API key prefix for the first API key authentication. + * + * @param apiKeyPrefix API key prefix + */ + public void setApiKeyPrefix(String apiKeyPrefix) { + for (Authentication auth : authentications.values()) { + if (auth instanceof ApiKeyAuth) { + ((ApiKeyAuth) auth).setApiKeyPrefix(apiKeyPrefix); + return; + } + } + throw new RuntimeException("No API key authentication configured!"); + } + + /** + * Helper method to set access token for the first OAuth2 authentication. + * + * @param accessToken Access token + */ + public void setAccessToken(String accessToken) { + throw new RuntimeException("No OAuth2 authentication configured!"); + } + + /** + * Set the User-Agent header's value (by adding to the default header map). + * + * @param userAgent HTTP request's user agent + * @return ApiClient + */ + public ApiClient setUserAgent(String userAgent) { + addDefaultHeader("User-Agent", userAgent); + return this; + } + + /** + * Add a default header. + * + * @param key The header's key + * @param value The header's value + * @return ApiClient + */ + public ApiClient addDefaultHeader(String key, String value) { + defaultHeaderMap.put(key, value); + return this; + } + + /** + * Add a default cookie. + * + * @param key The cookie's key + * @param value The cookie's value + * @return ApiClient + */ + public ApiClient addDefaultCookie(String key, String value) { + defaultCookieMap.put(key, value); + return this; + } + + /** + * Check that whether debugging is enabled for this API client. + * + * @return True if debugging is enabled, false otherwise. + */ + public boolean isDebugging() { + return debugging; + } + + /** + * Enable/disable debugging for this API client. + * + * @param debugging To enable (true) or disable (false) debugging + * @return ApiClient + */ + public ApiClient setDebugging(boolean debugging) { + if (debugging != this.debugging) { + if (debugging) { + loggingInterceptor = new HttpLoggingInterceptor(); + loggingInterceptor.setLevel(Level.BODY); + httpClient = httpClient.newBuilder().addInterceptor(loggingInterceptor).build(); + } else { + httpClient.interceptors().remove(loggingInterceptor); + loggingInterceptor = null; + } + } + this.debugging = debugging; + return this; + } + + /** + * The path of temporary folder used to store downloaded files from endpoints + * with file response. The default value is null, i.e. using + * the system's default tempopary folder. + * + * @see createTempFile + * @return Temporary folder path + */ + public String getTempFolderPath() { + return tempFolderPath; + } + + /** + * Set the temporary folder path (for downloading files) + * + * @param tempFolderPath Temporary folder path + * @return ApiClient + */ + public ApiClient setTempFolderPath(String tempFolderPath) { + this.tempFolderPath = tempFolderPath; + return this; + } + + /** + * Get connection timeout (in milliseconds). + * + * @return Timeout in milliseconds + */ + public int getConnectTimeout() { + return httpClient.connectTimeoutMillis(); + } + + /** + * Sets the connect timeout (in milliseconds). + * A value of 0 means no timeout, otherwise values must be between 1 and + * {@link Integer#MAX_VALUE}. + * + * @param connectionTimeout connection timeout in milliseconds + * @return Api client + */ + public ApiClient setConnectTimeout(int connectionTimeout) { + httpClient = httpClient.newBuilder().connectTimeout(connectionTimeout, TimeUnit.MILLISECONDS).build(); + return this; + } + + /** + * Get read timeout (in milliseconds). + * + * @return Timeout in milliseconds + */ + public int getReadTimeout() { + return httpClient.readTimeoutMillis(); + } + + /** + * Sets the read timeout (in milliseconds). + * A value of 0 means no timeout, otherwise values must be between 1 and + * {@link Integer#MAX_VALUE}. + * + * @param readTimeout read timeout in milliseconds + * @return Api client + */ + public ApiClient setReadTimeout(int readTimeout) { + httpClient = httpClient.newBuilder().readTimeout(readTimeout, TimeUnit.MILLISECONDS).build(); + return this; + } + + /** + * Get write timeout (in milliseconds). + * + * @return Timeout in milliseconds + */ + public int getWriteTimeout() { + return httpClient.writeTimeoutMillis(); + } + + /** + * Sets the write timeout (in milliseconds). + * A value of 0 means no timeout, otherwise values must be between 1 and + * {@link Integer#MAX_VALUE}. + * + * @param writeTimeout connection timeout in milliseconds + * @return Api client + */ + public ApiClient setWriteTimeout(int writeTimeout) { + httpClient = httpClient.newBuilder().writeTimeout(writeTimeout, TimeUnit.MILLISECONDS).build(); + return this; + } + + + /** + * Format the given parameter object into string. + * + * @param param Parameter + * @return String representation of the parameter + */ + public String parameterToString(Object param) { + if (param == null) { + return ""; + } else if (param instanceof Date || param instanceof OffsetDateTime || param instanceof LocalDate) { + //Serialize to json string and remove the " enclosing characters + String jsonStr = json.serialize(param); + return jsonStr.substring(1, jsonStr.length() - 1); + } else if (param instanceof Collection) { + StringBuilder b = new StringBuilder(); + for (Object o : (Collection) param) { + if (b.length() > 0) { + b.append(","); + } + b.append(String.valueOf(o)); + } + return b.toString(); + } else { + return String.valueOf(param); + } + } + + /** + * Formats the specified query parameter to a list containing a single {@code Pair} object. + * + * Note that {@code value} must not be a collection. + * + * @param name The name of the parameter. + * @param value The value of the parameter. + * @return A list containing a single {@code Pair} object. + */ + public List parameterToPair(String name, Object value) { + List params = new ArrayList(); + + // preconditions + if (name == null || name.isEmpty() || value == null || value instanceof Collection) { + return params; + } + + params.add(new Pair(name, parameterToString(value))); + return params; + } + + /** + * Formats the specified collection query parameters to a list of {@code Pair} objects. + * + * Note that the values of each of the returned Pair objects are percent-encoded. + * + * @param collectionFormat The collection format of the parameter. + * @param name The name of the parameter. + * @param value The value of the parameter. + * @return A list of {@code Pair} objects. + */ + public List parameterToPairs(String collectionFormat, String name, Collection value) { + List params = new ArrayList(); + + // preconditions + if (name == null || name.isEmpty() || value == null || value.isEmpty()) { + return params; + } + + // create the params based on the collection format + if ("multi".equals(collectionFormat)) { + for (Object item : value) { + params.add(new Pair(name, escapeString(parameterToString(item)))); + } + return params; + } + + // collectionFormat is assumed to be "csv" by default + String delimiter = ","; + + // escape all delimiters except commas, which are URI reserved + // characters + if ("ssv".equals(collectionFormat)) { + delimiter = escapeString(" "); + } else if ("tsv".equals(collectionFormat)) { + delimiter = escapeString("\t"); + } else if ("pipes".equals(collectionFormat)) { + delimiter = escapeString("|"); + } + + StringBuilder sb = new StringBuilder(); + for (Object item : value) { + sb.append(delimiter); + sb.append(escapeString(parameterToString(item))); + } + + params.add(new Pair(name, sb.substring(delimiter.length()))); + + return params; + } + + /** + * Formats the specified collection path parameter to a string value. + * + * @param collectionFormat The collection format of the parameter. + * @param value The value of the parameter. + * @return String representation of the parameter + */ + public String collectionPathParameterToString(String collectionFormat, Collection value) { + // create the value based on the collection format + if ("multi".equals(collectionFormat)) { + // not valid for path params + return parameterToString(value); + } + + // collectionFormat is assumed to be "csv" by default + String delimiter = ","; + + if ("ssv".equals(collectionFormat)) { + delimiter = " "; + } else if ("tsv".equals(collectionFormat)) { + delimiter = "\t"; + } else if ("pipes".equals(collectionFormat)) { + delimiter = "|"; + } + + StringBuilder sb = new StringBuilder() ; + for (Object item : value) { + sb.append(delimiter); + sb.append(parameterToString(item)); + } + + return sb.substring(delimiter.length()); + } + + /** + * Sanitize filename by removing path. + * e.g. ../../sun.gif becomes sun.gif + * + * @param filename The filename to be sanitized + * @return The sanitized filename + */ + public String sanitizeFilename(String filename) { + return filename.replaceAll(".*[/\\\\]", ""); + } + + /** + * Check if the given MIME is a JSON MIME. + * JSON MIME examples: + * application/json + * application/json; charset=UTF8 + * APPLICATION/JSON + * application/vnd.company+json + * "* / *" is also default to JSON + * @param mime MIME (Multipurpose Internet Mail Extensions) + * @return True if the given MIME is JSON, false otherwise. + */ + public boolean isJsonMime(String mime) { + String jsonMime = "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$"; + return mime != null && (mime.matches(jsonMime) || mime.equals("*/*")); + } + + /** + * Select the Accept header's value from the given accepts array: + * if JSON exists in the given array, use it; + * otherwise use all of them (joining into a string) + * + * @param accepts The accepts array to select from + * @return The Accept header to use. If the given array is empty, + * null will be returned (not to set the Accept header explicitly). + */ + public String selectHeaderAccept(String[] accepts) { + if (accepts.length == 0) { + return null; + } + for (String accept : accepts) { + if (isJsonMime(accept)) { + return accept; + } + } + return StringUtil.join(accepts, ","); + } + + /** + * Select the Content-Type header's value from the given array: + * if JSON exists in the given array, use it; + * otherwise use the first one of the array. + * + * @param contentTypes The Content-Type array to select from + * @return The Content-Type header to use. If the given array is empty, + * or matches "any", JSON will be used. + */ + public String selectHeaderContentType(String[] contentTypes) { + if (contentTypes.length == 0 || contentTypes[0].equals("*/*")) { + return "application/json"; + } + for (String contentType : contentTypes) { + if (isJsonMime(contentType)) { + return contentType; + } + } + return contentTypes[0]; + } + + /** + * Escape the given string to be used as URL query value. + * + * @param str String to be escaped + * @return Escaped string + */ + public String escapeString(String str) { + try { + return URLEncoder.encode(str, "utf8").replaceAll("\\+", "%20"); + } catch (UnsupportedEncodingException e) { + return str; + } + } + + /** + * Deserialize response body to Java object, according to the return type and + * the Content-Type response header. + * + * @param Type + * @param response HTTP response + * @param returnType The type of the Java object + * @return The deserialized Java object + * @throws ApiException If fail to deserialize response body, i.e. cannot read response body + * or the Content-Type of the response is not supported. + */ + @SuppressWarnings("unchecked") + public T deserialize(Response response, Type returnType) throws ApiException { + if (response == null || returnType == null) { + return null; + } + + if ("byte[]".equals(returnType.toString())) { + // Handle binary response (byte array). + try { + return (T) response.body().bytes(); + } catch (IOException e) { + throw new ApiException(e); + } + } else if (returnType.equals(File.class)) { + // Handle file downloading. + return (T) downloadFileFromResponse(response); + } + + String respBody; + try { + if (response.body() != null) + respBody = response.body().string(); + else + respBody = null; + } catch (IOException e) { + throw new ApiException(e); + } + + if (respBody == null || "".equals(respBody)) { + return null; + } + + String contentType = response.headers().get("Content-Type"); + if (contentType == null) { + // ensuring a default content type + contentType = "application/json"; + } + if (isJsonMime(contentType)) { + return json.deserialize(respBody, returnType); + } else if (returnType.equals(String.class)) { + // Expecting string, return the raw response body. + return (T) respBody; + } else { + throw new ApiException( + "Content type \"" + contentType + "\" is not supported for type: " + returnType, + response.code(), + response.headers().toMultimap(), + respBody); + } + } + + /** + * Serialize the given Java object into request body according to the object's + * class and the request Content-Type. + * + * @param obj The Java object + * @param contentType The request Content-Type + * @return The serialized request body + * @throws ApiException If fail to serialize the given object + */ + public RequestBody serialize(Object obj, String contentType) throws ApiException { + if (obj instanceof byte[]) { + // Binary (byte array) body parameter support. + return RequestBody.create(MediaType.parse(contentType), (byte[]) obj); + } else if (obj instanceof File) { + // File body parameter support. + return RequestBody.create(MediaType.parse(contentType), (File) obj); + } else if (isJsonMime(contentType)) { + String content; + if (obj != null) { + content = json.serialize(obj); + } else { + content = null; + } + return RequestBody.create(MediaType.parse(contentType), content); + } else { + throw new ApiException("Content type \"" + contentType + "\" is not supported"); + } + } + + /** + * Download file from the given response. + * + * @param response An instance of the Response object + * @throws ApiException If fail to read file content from response and write to disk + * @return Downloaded file + */ + public File downloadFileFromResponse(Response response) throws ApiException { + try { + File file = prepareDownloadFile(response); + BufferedSink sink = Okio.buffer(Okio.sink(file)); + sink.writeAll(response.body().source()); + sink.close(); + return file; + } catch (IOException e) { + throw new ApiException(e); + } + } + + /** + * Prepare file for download + * + * @param response An instance of the Response object + * @return Prepared file for the download + * @throws IOException If fail to prepare file for download + */ + public File prepareDownloadFile(Response response) throws IOException { + String filename = null; + String contentDisposition = response.header("Content-Disposition"); + if (contentDisposition != null && !"".equals(contentDisposition)) { + // Get filename from the Content-Disposition header. + Pattern pattern = Pattern.compile("filename=['\"]?([^'\"\\s]+)['\"]?"); + Matcher matcher = pattern.matcher(contentDisposition); + if (matcher.find()) { + filename = sanitizeFilename(matcher.group(1)); + } + } + + String prefix = null; + String suffix = null; + if (filename == null) { + prefix = "download-"; + suffix = ""; + } else { + int pos = filename.lastIndexOf("."); + if (pos == -1) { + prefix = filename + "-"; + } else { + prefix = filename.substring(0, pos) + "-"; + suffix = filename.substring(pos); + } + // File.createTempFile requires the prefix to be at least three characters long + if (prefix.length() < 3) + prefix = "download-"; + } + + if (tempFolderPath == null) + return File.createTempFile(prefix, suffix); + else + return File.createTempFile(prefix, suffix, new File(tempFolderPath)); + } + + /** + * {@link #execute(Call, Type)} + * + * @param Type + * @param call An instance of the Call object + * @return ApiResponse<T> + * @throws ApiException If fail to execute the call + */ + public ApiResponse execute(Call call) throws ApiException { + return execute(call, null); + } + + /** + * Execute HTTP call and deserialize the HTTP response body into the given return type. + * + * @param returnType The return type used to deserialize HTTP response body + * @param The return type corresponding to (same with) returnType + * @param call Call + * @return ApiResponse object containing response status, headers and + * data, which is a Java object deserialized from response body and would be null + * when returnType is null. + * @throws ApiException If fail to execute the call + */ + public ApiResponse execute(Call call, Type returnType) throws ApiException { + try { + Response response = call.execute(); + T data = handleResponse(response, returnType); + return new ApiResponse(response.code(), response.headers().toMultimap(), data); + } catch (IOException e) { + throw new ApiException(e); + } + } + + /** + * {@link #executeAsync(Call, Type, ApiCallback)} + * + * @param Type + * @param call An instance of the Call object + * @param callback ApiCallback<T> + */ + public void executeAsync(Call call, ApiCallback callback) { + executeAsync(call, null, callback); + } + + /** + * Execute HTTP call asynchronously. + * + * @param Type + * @param call The callback to be executed when the API call finishes + * @param returnType Return type + * @param callback ApiCallback + * @see #execute(Call, Type) + */ + @SuppressWarnings("unchecked") + public void executeAsync(Call call, final Type returnType, final ApiCallback callback) { + call.enqueue(new Callback() { + @Override + public void onFailure(Call call, IOException e) { + callback.onFailure(new ApiException(e), 0, null); + } + + @Override + public void onResponse(Call call, Response response) throws IOException { + T result; + try { + result = (T) handleResponse(response, returnType); + } catch (ApiException e) { + callback.onFailure(e, response.code(), response.headers().toMultimap()); + return; + } + callback.onSuccess(result, response.code(), response.headers().toMultimap()); + } + }); + } + + /** + * Handle the given response, return the deserialized object when the response is successful. + * + * @param Type + * @param response Response + * @param returnType Return type + * @return Type + * @throws ApiException If the response has an unsuccessful status code or + * fail to deserialize the response body + */ + public T handleResponse(Response response, Type returnType) throws ApiException { + if (response.isSuccessful()) { + if (returnType == null || response.code() == 204) { + // returning null if the returnType is not defined, + // or the status code is 204 (No Content) + if (response.body() != null) { + try { + response.body().close(); + } catch (Exception e) { + throw new ApiException(response.message(), e, response.code(), response.headers().toMultimap()); + } + } + return null; + } else { + return deserialize(response, returnType); + } + } else { + String respBody = null; + if (response.body() != null) { + try { + respBody = response.body().string(); + } catch (IOException e) { + throw new ApiException(response.message(), e, response.code(), response.headers().toMultimap()); + } + } + throw new ApiException(response.message(), response.code(), response.headers().toMultimap(), respBody); + } + } + + /** + * Build HTTP call with the given options. + * + * @param path The sub-path of the HTTP URL + * @param method The request method, one of "GET", "HEAD", "OPTIONS", "POST", "PUT", "PATCH" and "DELETE" + * @param queryParams The query parameters + * @param collectionQueryParams The collection query parameters + * @param body The request body object + * @param headerParams The header parameters + * @param cookieParams The cookie parameters + * @param formParams The form parameters + * @param authNames The authentications to apply + * @param callback Callback for upload/download progress + * @return The HTTP call + * @throws ApiException If fail to serialize the request body object + */ + public Call buildCall(String path, String method, List queryParams, List collectionQueryParams, Object body, Map headerParams, Map cookieParams, Map formParams, String[] authNames, ApiCallback callback) throws ApiException { + Request request = buildRequest(path, method, queryParams, collectionQueryParams, body, headerParams, cookieParams, formParams, authNames, callback); + + return httpClient.newCall(request); + } + + /** + * Build an HTTP request with the given options. + * + * @param path The sub-path of the HTTP URL + * @param method The request method, one of "GET", "HEAD", "OPTIONS", "POST", "PUT", "PATCH" and "DELETE" + * @param queryParams The query parameters + * @param collectionQueryParams The collection query parameters + * @param body The request body object + * @param headerParams The header parameters + * @param cookieParams The cookie parameters + * @param formParams The form parameters + * @param authNames The authentications to apply + * @param callback Callback for upload/download progress + * @return The HTTP request + * @throws ApiException If fail to serialize the request body object + */ + public Request buildRequest(String path, String method, List queryParams, List collectionQueryParams, Object body, Map headerParams, Map cookieParams, Map formParams, String[] authNames, ApiCallback callback) throws ApiException { + updateParamsForAuth(authNames, queryParams, headerParams, cookieParams); + + final String url = buildUrl(path, queryParams, collectionQueryParams); + final Request.Builder reqBuilder = new Request.Builder().url(url); + processHeaderParams(headerParams, reqBuilder); + processCookieParams(cookieParams, reqBuilder); + + String contentType = (String) headerParams.get("Content-Type"); + // ensuring a default content type + if (contentType == null) { + contentType = "application/json"; + } + + RequestBody reqBody; + if (!HttpMethod.permitsRequestBody(method)) { + reqBody = null; + } else if ("application/x-www-form-urlencoded".equals(contentType)) { + reqBody = buildRequestBodyFormEncoding(formParams); + } else if ("multipart/form-data".equals(contentType)) { + reqBody = buildRequestBodyMultipart(formParams); + } else if (body == null) { + if ("DELETE".equals(method)) { + // allow calling DELETE without sending a request body + reqBody = null; + } else { + // use an empty request body (for POST, PUT and PATCH) + reqBody = RequestBody.create(MediaType.parse(contentType), ""); + } + } else { + reqBody = serialize(body, contentType); + } + + // Associate callback with request (if not null) so interceptor can + // access it when creating ProgressResponseBody + reqBuilder.tag(callback); + + Request request = null; + + if (callback != null && reqBody != null) { + ProgressRequestBody progressRequestBody = new ProgressRequestBody(reqBody, callback); + request = reqBuilder.method(method, progressRequestBody).build(); + } else { + request = reqBuilder.method(method, reqBody).build(); + } + + return request; + } + + /** + * Build full URL by concatenating base path, the given sub path and query parameters. + * + * @param path The sub path + * @param queryParams The query parameters + * @param collectionQueryParams The collection query parameters + * @return The full URL + */ + public String buildUrl(String path, List queryParams, List collectionQueryParams) { + final StringBuilder url = new StringBuilder(); + url.append(basePath).append(path); + + if (queryParams != null && !queryParams.isEmpty()) { + // support (constant) query string in `path`, e.g. "/posts?draft=1" + String prefix = path.contains("?") ? "&" : "?"; + for (Pair param : queryParams) { + if (param.getValue() != null) { + if (prefix != null) { + url.append(prefix); + prefix = null; + } else { + url.append("&"); + } + String value = parameterToString(param.getValue()); + url.append(escapeString(param.getName())).append("=").append(escapeString(value)); + } + } + } + + if (collectionQueryParams != null && !collectionQueryParams.isEmpty()) { + String prefix = url.toString().contains("?") ? "&" : "?"; + for (Pair param : collectionQueryParams) { + if (param.getValue() != null) { + if (prefix != null) { + url.append(prefix); + prefix = null; + } else { + url.append("&"); + } + String value = parameterToString(param.getValue()); + // collection query parameter value already escaped as part of parameterToPairs + url.append(escapeString(param.getName())).append("=").append(value); + } + } + } + + return url.toString(); + } + + /** + * Set header parameters to the request builder, including default headers. + * + * @param headerParams Header parameters in the form of Map + * @param reqBuilder Request.Builder + */ + public void processHeaderParams(Map headerParams, Request.Builder reqBuilder) { + for (Entry param : headerParams.entrySet()) { + reqBuilder.header(param.getKey(), parameterToString(param.getValue())); + } + for (Entry header : defaultHeaderMap.entrySet()) { + if (!headerParams.containsKey(header.getKey())) { + reqBuilder.header(header.getKey(), parameterToString(header.getValue())); + } + } + } + + /** + * Set cookie parameters to the request builder, including default cookies. + * + * @param cookieParams Cookie parameters in the form of Map + * @param reqBuilder Request.Builder + */ + public void processCookieParams(Map cookieParams, Request.Builder reqBuilder) { + for (Entry param : cookieParams.entrySet()) { + reqBuilder.addHeader("Cookie", String.format("%s=%s", param.getKey(), param.getValue())); + } + for (Entry param : defaultCookieMap.entrySet()) { + if (!cookieParams.containsKey(param.getKey())) { + reqBuilder.addHeader("Cookie", String.format("%s=%s", param.getKey(), param.getValue())); + } + } + } + + /** + * Update query and header parameters based on authentication settings. + * + * @param authNames The authentications to apply + * @param queryParams List of query parameters + * @param headerParams Map of header parameters + * @param cookieParams Map of cookie parameters + */ + public void updateParamsForAuth(String[] authNames, List queryParams, Map headerParams, Map cookieParams) { + for (String authName : authNames) { + Authentication auth = authentications.get(authName); + if (auth == null) { + throw new RuntimeException("Authentication undefined: " + authName); + } + auth.applyToParams(queryParams, headerParams, cookieParams); + } + } + + /** + * Build a form-encoding request body with the given form parameters. + * + * @param formParams Form parameters in the form of Map + * @return RequestBody + */ + public RequestBody buildRequestBodyFormEncoding(Map formParams) { + okhttp3.FormBody.Builder formBuilder = new okhttp3.FormBody.Builder(); + for (Entry param : formParams.entrySet()) { + formBuilder.add(param.getKey(), parameterToString(param.getValue())); + } + return formBuilder.build(); + } + + /** + * Build a multipart (file uploading) request body with the given form parameters, + * which could contain text fields and file fields. + * + * @param formParams Form parameters in the form of Map + * @return RequestBody + */ + public RequestBody buildRequestBodyMultipart(Map formParams) { + MultipartBody.Builder mpBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + for (Entry param : formParams.entrySet()) { + if (param.getValue() instanceof File) { + File file = (File) param.getValue(); + Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + param.getKey() + "\"; filename=\"" + file.getName() + "\""); + MediaType mediaType = MediaType.parse(guessContentTypeFromFile(file)); + mpBuilder.addPart(partHeaders, RequestBody.create(mediaType, file)); + } else { + Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + param.getKey() + "\""); + mpBuilder.addPart(partHeaders, RequestBody.create(null, parameterToString(param.getValue()))); + } + } + return mpBuilder.build(); + } + + /** + * Guess Content-Type header from the given file (defaults to "application/octet-stream"). + * + * @param file The given file + * @return The guessed Content-Type + */ + public String guessContentTypeFromFile(File file) { + String contentType = URLConnection.guessContentTypeFromName(file.getName()); + if (contentType == null) { + return "application/octet-stream"; + } else { + return contentType; + } + } + + /** + * Get network interceptor to add it to the httpClient to track download progress for + * async requests. + */ + private Interceptor getProgressInterceptor() { + return new Interceptor() { + @Override + public Response intercept(Interceptor.Chain chain) throws IOException { + final Request request = chain.request(); + final Response originalResponse = chain.proceed(request); + if (request.tag() instanceof ApiCallback) { + final ApiCallback callback = (ApiCallback) request.tag(); + return originalResponse.newBuilder() + .body(new ProgressResponseBody(originalResponse.body(), callback)) + .build(); + } + return originalResponse; + } + }; + } + + /** + * Apply SSL related settings to httpClient according to the current values of + * verifyingSsl and sslCaCert. + */ + private void applySslSettings() { + try { + TrustManager[] trustManagers; + HostnameVerifier hostnameVerifier; + if (!verifyingSsl) { + trustManagers = new TrustManager[]{ + new X509TrustManager() { + @Override + public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException { + } + + @Override + public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException { + } + + @Override + public java.security.cert.X509Certificate[] getAcceptedIssuers() { + return new java.security.cert.X509Certificate[]{}; + } + } + }; + hostnameVerifier = new HostnameVerifier() { + @Override + public boolean verify(String hostname, SSLSession session) { + return true; + } + }; + } else { + TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); + + if (sslCaCert == null) { + trustManagerFactory.init((KeyStore) null); + } else { + char[] password = null; // Any password will work. + CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509"); + Collection certificates = certificateFactory.generateCertificates(sslCaCert); + if (certificates.isEmpty()) { + throw new IllegalArgumentException("expected non-empty set of trusted certificates"); + } + KeyStore caKeyStore = newEmptyKeyStore(password); + int index = 0; + for (Certificate certificate : certificates) { + String certificateAlias = "ca" + Integer.toString(index++); + caKeyStore.setCertificateEntry(certificateAlias, certificate); + } + trustManagerFactory.init(caKeyStore); + } + trustManagers = trustManagerFactory.getTrustManagers(); + hostnameVerifier = OkHostnameVerifier.INSTANCE; + } + + SSLContext sslContext = SSLContext.getInstance("TLS"); + sslContext.init(keyManagers, trustManagers, new SecureRandom()); + httpClient = httpClient.newBuilder() + .sslSocketFactory(sslContext.getSocketFactory(), (X509TrustManager) trustManagers[0]) + .hostnameVerifier(hostnameVerifier) + .build(); + } catch (GeneralSecurityException e) { + throw new RuntimeException(e); + } + } + + private KeyStore newEmptyKeyStore(char[] password) throws GeneralSecurityException { + try { + KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); + keyStore.load(null, password); + return keyStore; + } catch (IOException e) { + throw new AssertionError(e); + } + } +} diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ApiException.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ApiException.java new file mode 100644 index 0000000..2adc668 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ApiException.java @@ -0,0 +1,91 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client; + +import java.util.Map; +import java.util.List; + + +public class ApiException extends Exception { + private int code = 0; + private Map> responseHeaders = null; + private String responseBody = null; + + public ApiException() {} + + public ApiException(Throwable throwable) { + super(throwable); + } + + public ApiException(String message) { + super(message); + } + + public ApiException(String message, Throwable throwable, int code, Map> responseHeaders, String responseBody) { + super(message, throwable); + this.code = code; + this.responseHeaders = responseHeaders; + this.responseBody = responseBody; + } + + public ApiException(String message, int code, Map> responseHeaders, String responseBody) { + this(message, (Throwable) null, code, responseHeaders, responseBody); + } + + public ApiException(String message, Throwable throwable, int code, Map> responseHeaders) { + this(message, throwable, code, responseHeaders, null); + } + + public ApiException(int code, Map> responseHeaders, String responseBody) { + this((String) null, (Throwable) null, code, responseHeaders, responseBody); + } + + public ApiException(int code, String message) { + super(message); + this.code = code; + } + + public ApiException(int code, String message, Map> responseHeaders, String responseBody) { + this(code, message); + this.responseHeaders = responseHeaders; + this.responseBody = responseBody; + } + + /** + * Get the HTTP status code. + * + * @return HTTP status code + */ + public int getCode() { + return code; + } + + /** + * Get the HTTP response headers. + * + * @return A map of list of string + */ + public Map> getResponseHeaders() { + return responseHeaders; + } + + /** + * Get the HTTP response body. + * + * @return Response body in the form of string + */ + public String getResponseBody() { + return responseBody; + } +} diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ApiResponse.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ApiResponse.java new file mode 100644 index 0000000..5756208 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ApiResponse.java @@ -0,0 +1,59 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client; + +import java.util.List; +import java.util.Map; + +/** + * API response returned by API call. + * + * @param The type of data that is deserialized from response body + */ +public class ApiResponse { + final private int statusCode; + final private Map> headers; + final private T data; + + /** + * @param statusCode The status code of HTTP response + * @param headers The headers of HTTP response + */ + public ApiResponse(int statusCode, Map> headers) { + this(statusCode, headers, null); + } + + /** + * @param statusCode The status code of HTTP response + * @param headers The headers of HTTP response + * @param data The object deserialized from response bod + */ + public ApiResponse(int statusCode, Map> headers, T data) { + this.statusCode = statusCode; + this.headers = headers; + this.data = data; + } + + public int getStatusCode() { + return statusCode; + } + + public Map> getHeaders() { + return headers; + } + + public T getData() { + return data; + } +} diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/Configuration.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/Configuration.java new file mode 100644 index 0000000..f046140 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/Configuration.java @@ -0,0 +1,39 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client; + + +public class Configuration { + private static ApiClient defaultApiClient = new ApiClient(); + + /** + * Get the default API client, which would be used when creating API + * instances without providing an API client. + * + * @return Default API client + */ + public static ApiClient getDefaultApiClient() { + return defaultApiClient; + } + + /** + * Set the default API client, which would be used when creating API + * instances without providing an API client. + * + * @param apiClient API client + */ + public static void setDefaultApiClient(ApiClient apiClient) { + defaultApiClient = apiClient; + } +} diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/GzipRequestInterceptor.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/GzipRequestInterceptor.java new file mode 100644 index 0000000..cac1766 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/GzipRequestInterceptor.java @@ -0,0 +1,85 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client; + +import okhttp3.*; +import okio.Buffer; +import okio.BufferedSink; +import okio.GzipSink; +import okio.Okio; + +import java.io.IOException; + +/** + * Encodes request bodies using gzip. + * + * Taken from https://github.com/square/okhttp/issues/350 + */ +class GzipRequestInterceptor implements Interceptor { + @Override + public Response intercept(Chain chain) throws IOException { + Request originalRequest = chain.request(); + if (originalRequest.body() == null || originalRequest.header("Content-Encoding") != null) { + return chain.proceed(originalRequest); + } + + Request compressedRequest = originalRequest.newBuilder() + .header("Content-Encoding", "gzip") + .method(originalRequest.method(), forceContentLength(gzip(originalRequest.body()))) + .build(); + return chain.proceed(compressedRequest); + } + + private RequestBody forceContentLength(final RequestBody requestBody) throws IOException { + final Buffer buffer = new Buffer(); + requestBody.writeTo(buffer); + return new RequestBody() { + @Override + public MediaType contentType() { + return requestBody.contentType(); + } + + @Override + public long contentLength() { + return buffer.size(); + } + + @Override + public void writeTo(BufferedSink sink) throws IOException { + sink.write(buffer.snapshot()); + } + }; + } + + private RequestBody gzip(final RequestBody body) { + return new RequestBody() { + @Override + public MediaType contentType() { + return body.contentType(); + } + + @Override + public long contentLength() { + return -1; // We don't know the compressed length in advance! + } + + @Override + public void writeTo(BufferedSink sink) throws IOException { + BufferedSink gzipSink = Okio.buffer(new GzipSink(sink)); + body.writeTo(gzipSink); + gzipSink.close(); + } + }; + } +} diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/JSON.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/JSON.java new file mode 100644 index 0000000..d2d27db --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/JSON.java @@ -0,0 +1,402 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapter; +import com.google.gson.internal.bind.util.ISO8601Utils; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.google.gson.JsonElement; +import io.gsonfire.GsonFireBuilder; +import io.gsonfire.TypeSelector; + +import io.github.che_incubator.devfile.kubernetes.client.models.*; +import okio.ByteString; + +import java.io.IOException; +import java.io.StringReader; +import java.lang.reflect.Type; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.ParsePosition; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.time.format.DateTimeFormatter; +import java.util.Date; +import java.util.Locale; +import java.util.Map; +import java.util.HashMap; + +public class JSON { + private Gson gson; + private boolean isLenientOnJson = false; + private DateTypeAdapter dateTypeAdapter = new DateTypeAdapter(); + private SqlDateTypeAdapter sqlDateTypeAdapter = new SqlDateTypeAdapter(); + private OffsetDateTimeTypeAdapter offsetDateTimeTypeAdapter = new OffsetDateTimeTypeAdapter(); + private LocalDateTypeAdapter localDateTypeAdapter = new LocalDateTypeAdapter(); + private ByteArrayAdapter byteArrayAdapter = new ByteArrayAdapter(); + + public static GsonBuilder createGson() { + GsonFireBuilder fireBuilder = new GsonFireBuilder() + ; + GsonBuilder builder = fireBuilder.createGsonBuilder(); + return builder; + } + + private static String getDiscriminatorValue(JsonElement readElement, String discriminatorField) { + JsonElement element = readElement.getAsJsonObject().get(discriminatorField); + if (null == element) { + throw new IllegalArgumentException("missing discriminator field: <" + discriminatorField + ">"); + } + return element.getAsString(); + } + + /** + * Returns the Java class that implements the OpenAPI schema for the specified discriminator value. + * + * @param classByDiscriminatorValue The map of discriminator values to Java classes. + * @param discriminatorValue The value of the OpenAPI discriminator in the input data. + * @return The Java class that implements the OpenAPI schema + */ + private static Class getClassByDiscriminator(Map classByDiscriminatorValue, String discriminatorValue) { + Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue); + if (null == clazz) { + throw new IllegalArgumentException("cannot determine model class of name: <" + discriminatorValue + ">"); + } + return clazz; + } + + public JSON() { + gson = createGson() + .registerTypeAdapter(Date.class, dateTypeAdapter) + .registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter) + .registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter) + .registerTypeAdapter(LocalDate.class, localDateTypeAdapter) + .registerTypeAdapter(byte[].class, byteArrayAdapter) + .create(); + } + + /** + * Get Gson. + * + * @return Gson + */ + public Gson getGson() { + return gson; + } + + /** + * Set Gson. + * + * @param gson Gson + * @return JSON + */ + public JSON setGson(Gson gson) { + this.gson = gson; + return this; + } + + public JSON setLenientOnJson(boolean lenientOnJson) { + isLenientOnJson = lenientOnJson; + return this; + } + + /** + * Serialize the given Java object into JSON string. + * + * @param obj Object + * @return String representation of the JSON + */ + public String serialize(Object obj) { + return gson.toJson(obj); + } + + /** + * Deserialize the given JSON string to Java object. + * + * @param Type + * @param body The JSON string + * @param returnType The type to deserialize into + * @return The deserialized Java object + */ + @SuppressWarnings("unchecked") + public T deserialize(String body, Type returnType) { + try { + if (isLenientOnJson) { + JsonReader jsonReader = new JsonReader(new StringReader(body)); + // see https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/stream/JsonReader.html#setLenient(boolean) + jsonReader.setLenient(true); + return gson.fromJson(jsonReader, returnType); + } else { + return gson.fromJson(body, returnType); + } + } catch (JsonParseException e) { + // Fallback processing when failed to parse JSON form response body: + // return the response body string directly for the String return type; + if (returnType.equals(String.class)) { + return (T) body; + } else { + throw (e); + } + } + } + + /** + * Gson TypeAdapter for Byte Array type + */ + public class ByteArrayAdapter extends TypeAdapter { + + @Override + public void write(JsonWriter out, byte[] value) throws IOException { + if (value == null) { + out.nullValue(); + } else { + out.value(ByteString.of(value).base64()); + } + } + + @Override + public byte[] read(JsonReader in) throws IOException { + switch (in.peek()) { + case NULL: + in.nextNull(); + return null; + default: + String bytesAsBase64 = in.nextString(); + ByteString byteString = ByteString.decodeBase64(bytesAsBase64); + return byteString.toByteArray(); + } + } + } + + /** + * Gson TypeAdapter for JSR310 OffsetDateTime type + */ + public static class OffsetDateTimeTypeAdapter extends TypeAdapter { + + private DateTimeFormatter formatter; + + public OffsetDateTimeTypeAdapter() { + this(DateTimeFormatter.ISO_OFFSET_DATE_TIME); + } + + public OffsetDateTimeTypeAdapter(DateTimeFormatter formatter) { + this.formatter = formatter; + } + + public void setFormat(DateTimeFormatter dateFormat) { + this.formatter = dateFormat; + } + + @Override + public void write(JsonWriter out, OffsetDateTime date) throws IOException { + if (date == null) { + out.nullValue(); + } else { + out.value(formatter.format(date)); + } + } + + @Override + public OffsetDateTime read(JsonReader in) throws IOException { + switch (in.peek()) { + case NULL: + in.nextNull(); + return null; + default: + String date = in.nextString(); + if (date.endsWith("+0000")) { + date = date.substring(0, date.length()-5) + "Z"; + } + return OffsetDateTime.parse(date, formatter); + } + } + } + + /** + * Gson TypeAdapter for JSR310 LocalDate type + */ + public class LocalDateTypeAdapter extends TypeAdapter { + + private DateTimeFormatter formatter; + + public LocalDateTypeAdapter() { + this(DateTimeFormatter.ISO_LOCAL_DATE); + } + + public LocalDateTypeAdapter(DateTimeFormatter formatter) { + this.formatter = formatter; + } + + public void setFormat(DateTimeFormatter dateFormat) { + this.formatter = dateFormat; + } + + @Override + public void write(JsonWriter out, LocalDate date) throws IOException { + if (date == null) { + out.nullValue(); + } else { + out.value(formatter.format(date)); + } + } + + @Override + public LocalDate read(JsonReader in) throws IOException { + switch (in.peek()) { + case NULL: + in.nextNull(); + return null; + default: + String date = in.nextString(); + return LocalDate.parse(date, formatter); + } + } + } + + public JSON setOffsetDateTimeFormat(DateTimeFormatter dateFormat) { + offsetDateTimeTypeAdapter.setFormat(dateFormat); + return this; + } + + public JSON setLocalDateFormat(DateTimeFormatter dateFormat) { + localDateTypeAdapter.setFormat(dateFormat); + return this; + } + + /** + * Gson TypeAdapter for java.sql.Date type + * If the dateFormat is null, a simple "yyyy-MM-dd" format will be used + * (more efficient than SimpleDateFormat). + */ + public static class SqlDateTypeAdapter extends TypeAdapter { + + private DateFormat dateFormat; + + public SqlDateTypeAdapter() {} + + public SqlDateTypeAdapter(DateFormat dateFormat) { + this.dateFormat = dateFormat; + } + + public void setFormat(DateFormat dateFormat) { + this.dateFormat = dateFormat; + } + + @Override + public void write(JsonWriter out, java.sql.Date date) throws IOException { + if (date == null) { + out.nullValue(); + } else { + String value; + if (dateFormat != null) { + value = dateFormat.format(date); + } else { + value = date.toString(); + } + out.value(value); + } + } + + @Override + public java.sql.Date read(JsonReader in) throws IOException { + switch (in.peek()) { + case NULL: + in.nextNull(); + return null; + default: + String date = in.nextString(); + try { + if (dateFormat != null) { + return new java.sql.Date(dateFormat.parse(date).getTime()); + } + return new java.sql.Date(ISO8601Utils.parse(date, new ParsePosition(0)).getTime()); + } catch (ParseException e) { + throw new JsonParseException(e); + } + } + } + } + + /** + * Gson TypeAdapter for java.util.Date type + * If the dateFormat is null, ISO8601Utils will be used. + */ + public static class DateTypeAdapter extends TypeAdapter { + + private DateFormat dateFormat; + + public DateTypeAdapter() {} + + public DateTypeAdapter(DateFormat dateFormat) { + this.dateFormat = dateFormat; + } + + public void setFormat(DateFormat dateFormat) { + this.dateFormat = dateFormat; + } + + @Override + public void write(JsonWriter out, Date date) throws IOException { + if (date == null) { + out.nullValue(); + } else { + String value; + if (dateFormat != null) { + value = dateFormat.format(date); + } else { + value = ISO8601Utils.format(date, true); + } + out.value(value); + } + } + + @Override + public Date read(JsonReader in) throws IOException { + try { + switch (in.peek()) { + case NULL: + in.nextNull(); + return null; + default: + String date = in.nextString(); + try { + if (dateFormat != null) { + return dateFormat.parse(date); + } + return ISO8601Utils.parse(date, new ParsePosition(0)); + } catch (ParseException e) { + throw new JsonParseException(e); + } + } + } catch (IllegalArgumentException e) { + throw new JsonParseException(e); + } + } + } + + public JSON setDateFormat(DateFormat dateFormat) { + dateTypeAdapter.setFormat(dateFormat); + return this; + } + + public JSON setSqlDateFormat(DateFormat dateFormat) { + sqlDateTypeAdapter.setFormat(dateFormat); + return this; + } + +} diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/Pair.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/Pair.java new file mode 100644 index 0000000..787b3e4 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/Pair.java @@ -0,0 +1,61 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client; + + +public class Pair { + private String name = ""; + private String value = ""; + + public Pair (String name, String value) { + setName(name); + setValue(value); + } + + private void setName(String name) { + if (!isValidString(name)) { + return; + } + + this.name = name; + } + + private void setValue(String value) { + if (!isValidString(value)) { + return; + } + + this.value = value; + } + + public String getName() { + return this.name; + } + + public String getValue() { + return this.value; + } + + private boolean isValidString(String arg) { + if (arg == null) { + return false; + } + + if (arg.trim().isEmpty()) { + return false; + } + + return true; + } +} diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ProgressRequestBody.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ProgressRequestBody.java new file mode 100644 index 0000000..19d179a --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ProgressRequestBody.java @@ -0,0 +1,73 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client; + +import okhttp3.MediaType; +import okhttp3.RequestBody; + +import java.io.IOException; + +import okio.Buffer; +import okio.BufferedSink; +import okio.ForwardingSink; +import okio.Okio; +import okio.Sink; + +public class ProgressRequestBody extends RequestBody { + + private final RequestBody requestBody; + + private final ApiCallback callback; + + public ProgressRequestBody(RequestBody requestBody, ApiCallback callback) { + this.requestBody = requestBody; + this.callback = callback; + } + + @Override + public MediaType contentType() { + return requestBody.contentType(); + } + + @Override + public long contentLength() throws IOException { + return requestBody.contentLength(); + } + + @Override + public void writeTo(BufferedSink sink) throws IOException { + BufferedSink bufferedSink = Okio.buffer(sink(sink)); + requestBody.writeTo(bufferedSink); + bufferedSink.flush(); + } + + private Sink sink(Sink sink) { + return new ForwardingSink(sink) { + + long bytesWritten = 0L; + long contentLength = 0L; + + @Override + public void write(Buffer source, long byteCount) throws IOException { + super.write(source, byteCount); + if (contentLength == 0) { + contentLength = contentLength(); + } + + bytesWritten += byteCount; + callback.onUploadProgress(bytesWritten, contentLength, bytesWritten == contentLength); + } + }; + } +} diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ProgressResponseBody.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ProgressResponseBody.java new file mode 100644 index 0000000..fd4afd4 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ProgressResponseBody.java @@ -0,0 +1,72 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client; + +import okhttp3.MediaType; +import okhttp3.ResponseBody; + +import java.io.IOException; + +import okio.Buffer; +import okio.BufferedSource; +import okio.ForwardingSource; +import okio.Okio; +import okio.Source; + +public class ProgressResponseBody extends ResponseBody { + + private final ResponseBody responseBody; + private final ApiCallback callback; + private BufferedSource bufferedSource; + + public ProgressResponseBody(ResponseBody responseBody, ApiCallback callback) { + this.responseBody = responseBody; + this.callback = callback; + } + + @Override + public MediaType contentType() { + return responseBody.contentType(); + } + + @Override + public long contentLength() { + return responseBody.contentLength(); + } + + @Override + public BufferedSource source() { + if (bufferedSource == null) { + bufferedSource = Okio.buffer(source(responseBody.source())); + } + return bufferedSource; + } + + private Source source(Source source) { + return new ForwardingSource(source) { + long totalBytesRead = 0L; + + @Override + public long read(Buffer sink, long byteCount) throws IOException { + long bytesRead = super.read(sink, byteCount); + // read() returns the number of bytes read, or -1 if this source is exhausted. + totalBytesRead += bytesRead != -1 ? bytesRead : 0; + callback.onDownloadProgress(totalBytesRead, responseBody.contentLength(), bytesRead == -1); + return bytesRead; + } + }; + } +} + + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ServerConfiguration.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ServerConfiguration.java new file mode 100644 index 0000000..8354ce2 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ServerConfiguration.java @@ -0,0 +1,58 @@ +package io.github.che_incubator.devfile.kubernetes.client; + +import java.util.Map; + +/** + * Representing a Server configuration. + */ +public class ServerConfiguration { + public String URL; + public String description; + public Map variables; + + /** + * @param URL A URL to the target host. + * @param description A describtion of the host designated by the URL. + * @param variables A map between a variable name and its value. The value is used for substitution in the server's URL template. + */ + public ServerConfiguration(String URL, String description, Map variables) { + this.URL = URL; + this.description = description; + this.variables = variables; + } + + /** + * Format URL template using given variables. + * + * @param variables A map between a variable name and its value. + * @return Formatted URL. + */ + public String URL(Map variables) { + String url = this.URL; + + // go through variables and replace placeholders + for (Map.Entry variable: this.variables.entrySet()) { + String name = variable.getKey(); + ServerVariable serverVariable = variable.getValue(); + String value = serverVariable.defaultValue; + + if (variables != null && variables.containsKey(name)) { + value = variables.get(name); + if (serverVariable.enumValues.size() > 0 && !serverVariable.enumValues.contains(value)) { + throw new RuntimeException("The variable " + name + " in the server URL has invalid value " + value + "."); + } + } + url = url.replaceAll("\\{" + name + "\\}", value); + } + return url; + } + + /** + * Format URL template using default server variables. + * + * @return Formatted URL. + */ + public String URL() { + return URL(null); + } +} diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ServerVariable.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ServerVariable.java new file mode 100644 index 0000000..43040a9 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/ServerVariable.java @@ -0,0 +1,23 @@ +package io.github.che_incubator.devfile.kubernetes.client; + +import java.util.HashSet; + +/** + * Representing a Server Variable for server URL template substitution. + */ +public class ServerVariable { + public String description; + public String defaultValue; + public HashSet enumValues = null; + + /** + * @param description A description for the server variable. + * @param defaultValue The default value to use for substitution. + * @param enumValues An enumeration of string values to be used if the substitution options are from a limited set. + */ + public ServerVariable(String description, String defaultValue, HashSet enumValues) { + this.description = description; + this.defaultValue = defaultValue; + this.enumValues = enumValues; + } +} diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/StringUtil.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/StringUtil.java new file mode 100644 index 0000000..c87cd2d --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/StringUtil.java @@ -0,0 +1,61 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client; + + +public class StringUtil { + /** + * Check if the given array contains the given value (with case-insensitive comparison). + * + * @param array The array + * @param value The value to search + * @return true if the array contains the value + */ + public static boolean containsIgnoreCase(String[] array, String value) { + for (String str : array) { + if (value == null && str == null) { + return true; + } + if (value != null && value.equalsIgnoreCase(str)) { + return true; + } + } + return false; + } + + /** + * Join an array of strings with the given separator. + *

+ * Note: This might be replaced by utility method from commons-lang or guava someday + * if one of those libraries is added as dependency. + *

+ * + * @param array The array of strings + * @param separator The separator + * @return the resulting string + */ + public static String join(String[] array, String separator) { + int len = array.length; + if (len == 0) { + return ""; + } + + StringBuilder out = new StringBuilder(); + out.append(array[0]); + for (int i = 1; i < len; i++) { + out.append(separator).append(array[i]); + } + return out.toString(); + } +} diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/auth/ApiKeyAuth.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/auth/ApiKeyAuth.java new file mode 100644 index 0000000..cdfc525 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/auth/ApiKeyAuth.java @@ -0,0 +1,77 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.auth; + +import io.github.che_incubator.devfile.kubernetes.client.Pair; + +import java.util.Map; +import java.util.List; + + +public class ApiKeyAuth implements Authentication { + private final String location; + private final String paramName; + + private String apiKey; + private String apiKeyPrefix; + + public ApiKeyAuth(String location, String paramName) { + this.location = location; + this.paramName = paramName; + } + + public String getLocation() { + return location; + } + + public String getParamName() { + return paramName; + } + + public String getApiKey() { + return apiKey; + } + + public void setApiKey(String apiKey) { + this.apiKey = apiKey; + } + + public String getApiKeyPrefix() { + return apiKeyPrefix; + } + + public void setApiKeyPrefix(String apiKeyPrefix) { + this.apiKeyPrefix = apiKeyPrefix; + } + + @Override + public void applyToParams(List queryParams, Map headerParams, Map cookieParams) { + if (apiKey == null) { + return; + } + String value; + if (apiKeyPrefix != null) { + value = apiKeyPrefix + " " + apiKey; + } else { + value = apiKey; + } + if ("query".equals(location)) { + queryParams.add(new Pair(paramName, value)); + } else if ("header".equals(location)) { + headerParams.put(paramName, value); + } else if ("cookie".equals(location)) { + cookieParams.put(paramName, value); + } + } +} diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/auth/Authentication.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/auth/Authentication.java new file mode 100644 index 0000000..5292995 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/auth/Authentication.java @@ -0,0 +1,30 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.auth; + +import io.github.che_incubator.devfile.kubernetes.client.Pair; + +import java.util.Map; +import java.util.List; + +public interface Authentication { + /** + * Apply authentication settings to header and query params. + * + * @param queryParams List of query parameters + * @param headerParams Map of header parameters + * @param cookieParams Map of cookie parameters + */ + void applyToParams(List queryParams, Map headerParams, Map cookieParams); +} diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/auth/HttpBasicAuth.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/auth/HttpBasicAuth.java new file mode 100644 index 0000000..ac3f9b2 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/auth/HttpBasicAuth.java @@ -0,0 +1,54 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.auth; + +import io.github.che_incubator.devfile.kubernetes.client.Pair; + +import okhttp3.Credentials; + +import java.util.Map; +import java.util.List; + +import java.io.UnsupportedEncodingException; + +public class HttpBasicAuth implements Authentication { + private String username; + private String password; + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + @Override + public void applyToParams(List queryParams, Map headerParams, Map cookieParams) { + if (username == null && password == null) { + return; + } + headerParams.put("Authorization", Credentials.basic( + username == null ? "" : username, + password == null ? "" : password)); + } +} diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/auth/HttpBearerAuth.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/auth/HttpBearerAuth.java new file mode 100644 index 0000000..a5fca63 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/auth/HttpBearerAuth.java @@ -0,0 +1,60 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.auth; + +import io.github.che_incubator.devfile.kubernetes.client.Pair; + +import java.util.Map; +import java.util.List; + + +public class HttpBearerAuth implements Authentication { + private final String scheme; + private String bearerToken; + + public HttpBearerAuth(String scheme) { + this.scheme = scheme; + } + + /** + * Gets the token, which together with the scheme, will be sent as the value of the Authorization header. + * + * @return The bearer token + */ + public String getBearerToken() { + return bearerToken; + } + + /** + * Sets the token, which together with the scheme, will be sent as the value of the Authorization header. + * + * @param bearerToken The bearer token to send in the Authorization header + */ + public void setBearerToken(String bearerToken) { + this.bearerToken = bearerToken; + } + + @Override + public void applyToParams(List queryParams, Map headerParams, Map cookieParams) { + if(bearerToken == null) { + return; + } + + headerParams.put("Authorization", (scheme != null ? upperCaseBearer(scheme) + " " : "") + bearerToken); + } + + private static String upperCaseBearer(String scheme) { + return ("bearer".equalsIgnoreCase(scheme)) ? "Bearer" : scheme; + } +} diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspace.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspace.java new file mode 100644 index 0000000..b8c3d19 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspace.java @@ -0,0 +1,219 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceMetadata; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpec; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceStatus; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * DevWorkspace is the Schema for the devworkspaces API + */ +@ApiModel(description = "DevWorkspace is the Schema for the devworkspaces API") + +public class V1alpha2DevWorkspace { + public static final String SERIALIZED_NAME_API_VERSION = "apiVersion"; + @SerializedName(SERIALIZED_NAME_API_VERSION) + private String apiVersion; + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private String kind; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private V1alpha2DevWorkspaceMetadata metadata; + + public static final String SERIALIZED_NAME_SPEC = "spec"; + @SerializedName(SERIALIZED_NAME_SPEC) + private V1alpha2DevWorkspaceSpec spec; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private V1alpha2DevWorkspaceStatus status; + + + public V1alpha2DevWorkspace apiVersion(String apiVersion) { + + this.apiVersion = apiVersion; + return this; + } + + /** + * 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 + * @return apiVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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") + + public String getApiVersion() { + return apiVersion; + } + + + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + + public V1alpha2DevWorkspace kind(String kind) { + + this.kind = kind; + return this; + } + + /** + * 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 + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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") + + public String getKind() { + return kind; + } + + + public void setKind(String kind) { + this.kind = kind; + } + + + public V1alpha2DevWorkspace metadata(V1alpha2DevWorkspaceMetadata metadata) { + + this.metadata = metadata; + return this; + } + + /** + * Get metadata + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceMetadata getMetadata() { + return metadata; + } + + + public void setMetadata(V1alpha2DevWorkspaceMetadata metadata) { + this.metadata = metadata; + } + + + public V1alpha2DevWorkspace spec(V1alpha2DevWorkspaceSpec spec) { + + this.spec = spec; + return this; + } + + /** + * Get spec + * @return spec + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpec getSpec() { + return spec; + } + + + public void setSpec(V1alpha2DevWorkspaceSpec spec) { + this.spec = spec; + } + + + public V1alpha2DevWorkspace status(V1alpha2DevWorkspaceStatus status) { + + this.status = status; + return this; + } + + /** + * Get status + * @return status + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceStatus getStatus() { + return status; + } + + + public void setStatus(V1alpha2DevWorkspaceStatus status) { + this.status = status; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspace v1alpha2DevWorkspace = (V1alpha2DevWorkspace) o; + return Objects.equals(this.apiVersion, v1alpha2DevWorkspace.apiVersion) && + Objects.equals(this.kind, v1alpha2DevWorkspace.kind) && + Objects.equals(this.metadata, v1alpha2DevWorkspace.metadata) && + Objects.equals(this.spec, v1alpha2DevWorkspace.spec) && + Objects.equals(this.status, v1alpha2DevWorkspace.status); + } + + @Override + public int hashCode() { + return Objects.hash(apiVersion, kind, metadata, spec, status); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspace {\n"); + sb.append(" apiVersion: ").append(toIndentedString(apiVersion)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" spec: ").append(toIndentedString(spec)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceMetadata.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceMetadata.java new file mode 100644 index 0000000..760df81 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceMetadata.java @@ -0,0 +1,582 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceMetadataManagedFields; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceMetadataOwnerReferences; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. + */ +@ApiModel(description = "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.") + +public class V1alpha2DevWorkspaceMetadata { + public static final String SERIALIZED_NAME_ANNOTATIONS = "annotations"; + @SerializedName(SERIALIZED_NAME_ANNOTATIONS) + private Map annotations = null; + + public static final String SERIALIZED_NAME_CLUSTER_NAME = "clusterName"; + @SerializedName(SERIALIZED_NAME_CLUSTER_NAME) + private String clusterName; + + public static final String SERIALIZED_NAME_CREATION_TIMESTAMP = "creationTimestamp"; + @SerializedName(SERIALIZED_NAME_CREATION_TIMESTAMP) + private OffsetDateTime creationTimestamp; + + public static final String SERIALIZED_NAME_DELETION_GRACE_PERIOD_SECONDS = "deletionGracePeriodSeconds"; + @SerializedName(SERIALIZED_NAME_DELETION_GRACE_PERIOD_SECONDS) + private Long deletionGracePeriodSeconds; + + public static final String SERIALIZED_NAME_DELETION_TIMESTAMP = "deletionTimestamp"; + @SerializedName(SERIALIZED_NAME_DELETION_TIMESTAMP) + private OffsetDateTime deletionTimestamp; + + public static final String SERIALIZED_NAME_FINALIZERS = "finalizers"; + @SerializedName(SERIALIZED_NAME_FINALIZERS) + private List finalizers = null; + + public static final String SERIALIZED_NAME_GENERATE_NAME = "generateName"; + @SerializedName(SERIALIZED_NAME_GENERATE_NAME) + private String generateName; + + public static final String SERIALIZED_NAME_GENERATION = "generation"; + @SerializedName(SERIALIZED_NAME_GENERATION) + private Long generation; + + public static final String SERIALIZED_NAME_LABELS = "labels"; + @SerializedName(SERIALIZED_NAME_LABELS) + private Map labels = null; + + public static final String SERIALIZED_NAME_MANAGED_FIELDS = "managedFields"; + @SerializedName(SERIALIZED_NAME_MANAGED_FIELDS) + private List managedFields = null; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_NAMESPACE = "namespace"; + @SerializedName(SERIALIZED_NAME_NAMESPACE) + private String namespace; + + public static final String SERIALIZED_NAME_OWNER_REFERENCES = "ownerReferences"; + @SerializedName(SERIALIZED_NAME_OWNER_REFERENCES) + private List ownerReferences = null; + + public static final String SERIALIZED_NAME_RESOURCE_VERSION = "resourceVersion"; + @SerializedName(SERIALIZED_NAME_RESOURCE_VERSION) + private String resourceVersion; + + public static final String SERIALIZED_NAME_SELF_LINK = "selfLink"; + @SerializedName(SERIALIZED_NAME_SELF_LINK) + private String selfLink; + + public static final String SERIALIZED_NAME_UID = "uid"; + @SerializedName(SERIALIZED_NAME_UID) + private String uid; + + + public V1alpha2DevWorkspaceMetadata annotations(Map annotations) { + + this.annotations = annotations; + return this; + } + + public V1alpha2DevWorkspaceMetadata putAnnotationsItem(String key, String annotationsItem) { + if (this.annotations == null) { + this.annotations = new HashMap<>(); + } + this.annotations.put(key, annotationsItem); + return this; + } + + /** + * 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 + * @return annotations + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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") + + public Map getAnnotations() { + return annotations; + } + + + public void setAnnotations(Map annotations) { + this.annotations = annotations; + } + + + public V1alpha2DevWorkspaceMetadata clusterName(String clusterName) { + + this.clusterName = clusterName; + return this; + } + + /** + * 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. + * @return clusterName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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.") + + public String getClusterName() { + return clusterName; + } + + + public void setClusterName(String clusterName) { + this.clusterName = clusterName; + } + + + public V1alpha2DevWorkspaceMetadata creationTimestamp(OffsetDateTime creationTimestamp) { + + this.creationTimestamp = creationTimestamp; + return this; + } + + /** + * CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + * @return creationTimestamp + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata") + + public OffsetDateTime getCreationTimestamp() { + return creationTimestamp; + } + + + public void setCreationTimestamp(OffsetDateTime creationTimestamp) { + this.creationTimestamp = creationTimestamp; + } + + + public V1alpha2DevWorkspaceMetadata deletionGracePeriodSeconds(Long deletionGracePeriodSeconds) { + + this.deletionGracePeriodSeconds = deletionGracePeriodSeconds; + return this; + } + + /** + * 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. + * @return deletionGracePeriodSeconds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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.") + + public Long getDeletionGracePeriodSeconds() { + return deletionGracePeriodSeconds; + } + + + public void setDeletionGracePeriodSeconds(Long deletionGracePeriodSeconds) { + this.deletionGracePeriodSeconds = deletionGracePeriodSeconds; + } + + + public V1alpha2DevWorkspaceMetadata deletionTimestamp(OffsetDateTime deletionTimestamp) { + + this.deletionTimestamp = deletionTimestamp; + return this; + } + + /** + * DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + * @return deletionTimestamp + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata") + + public OffsetDateTime getDeletionTimestamp() { + return deletionTimestamp; + } + + + public void setDeletionTimestamp(OffsetDateTime deletionTimestamp) { + this.deletionTimestamp = deletionTimestamp; + } + + + public V1alpha2DevWorkspaceMetadata finalizers(List finalizers) { + + this.finalizers = finalizers; + return this; + } + + public V1alpha2DevWorkspaceMetadata addFinalizersItem(String finalizersItem) { + if (this.finalizers == null) { + this.finalizers = new ArrayList<>(); + } + this.finalizers.add(finalizersItem); + return this; + } + + /** + * 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. + * @return finalizers + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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.") + + public List getFinalizers() { + return finalizers; + } + + + public void setFinalizers(List finalizers) { + this.finalizers = finalizers; + } + + + public V1alpha2DevWorkspaceMetadata generateName(String generateName) { + + this.generateName = generateName; + return this; + } + + /** + * GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency + * @return generateName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency") + + public String getGenerateName() { + return generateName; + } + + + public void setGenerateName(String generateName) { + this.generateName = generateName; + } + + + public V1alpha2DevWorkspaceMetadata generation(Long generation) { + + this.generation = generation; + return this; + } + + /** + * A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. + * @return generation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.") + + public Long getGeneration() { + return generation; + } + + + public void setGeneration(Long generation) { + this.generation = generation; + } + + + public V1alpha2DevWorkspaceMetadata labels(Map labels) { + + this.labels = labels; + return this; + } + + public V1alpha2DevWorkspaceMetadata putLabelsItem(String key, String labelsItem) { + if (this.labels == null) { + this.labels = new HashMap<>(); + } + this.labels.put(key, labelsItem); + return this; + } + + /** + * 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 + * @return labels + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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") + + public Map getLabels() { + return labels; + } + + + public void setLabels(Map labels) { + this.labels = labels; + } + + + public V1alpha2DevWorkspaceMetadata managedFields(List managedFields) { + + this.managedFields = managedFields; + return this; + } + + public V1alpha2DevWorkspaceMetadata addManagedFieldsItem(V1alpha2DevWorkspaceMetadataManagedFields managedFieldsItem) { + if (this.managedFields == null) { + this.managedFields = new ArrayList<>(); + } + this.managedFields.add(managedFieldsItem); + return this; + } + + /** + * 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. + * @return managedFields + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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.") + + public List getManagedFields() { + return managedFields; + } + + + public void setManagedFields(List managedFields) { + this.managedFields = managedFields; + } + + + public V1alpha2DevWorkspaceMetadata name(String name) { + + this.name = name; + return this; + } + + /** + * 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 + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceMetadata namespace(String namespace) { + + this.namespace = namespace; + return this; + } + + /** + * Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces + * @return namespace + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces") + + public String getNamespace() { + return namespace; + } + + + public void setNamespace(String namespace) { + this.namespace = namespace; + } + + + public V1alpha2DevWorkspaceMetadata ownerReferences(List ownerReferences) { + + this.ownerReferences = ownerReferences; + return this; + } + + public V1alpha2DevWorkspaceMetadata addOwnerReferencesItem(V1alpha2DevWorkspaceMetadataOwnerReferences ownerReferencesItem) { + if (this.ownerReferences == null) { + this.ownerReferences = new ArrayList<>(); + } + this.ownerReferences.add(ownerReferencesItem); + return this; + } + + /** + * 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. + * @return ownerReferences + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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.") + + public List getOwnerReferences() { + return ownerReferences; + } + + + public void setOwnerReferences(List ownerReferences) { + this.ownerReferences = ownerReferences; + } + + + public V1alpha2DevWorkspaceMetadata resourceVersion(String resourceVersion) { + + this.resourceVersion = resourceVersion; + return this; + } + + /** + * An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency + * @return resourceVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency") + + public String getResourceVersion() { + return resourceVersion; + } + + + public void setResourceVersion(String resourceVersion) { + this.resourceVersion = resourceVersion; + } + + + public V1alpha2DevWorkspaceMetadata selfLink(String selfLink) { + + this.selfLink = selfLink; + return this; + } + + /** + * SelfLink is a URL representing this object. Populated by the system. Read-only. DEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release. + * @return selfLink + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "SelfLink is a URL representing this object. Populated by the system. Read-only. DEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.") + + public String getSelfLink() { + return selfLink; + } + + + public void setSelfLink(String selfLink) { + this.selfLink = selfLink; + } + + + public V1alpha2DevWorkspaceMetadata uid(String uid) { + + this.uid = uid; + return this; + } + + /** + * UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids + * @return uid + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids") + + public String getUid() { + return uid; + } + + + public void setUid(String uid) { + this.uid = uid; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceMetadata v1alpha2DevWorkspaceMetadata = (V1alpha2DevWorkspaceMetadata) o; + return Objects.equals(this.annotations, v1alpha2DevWorkspaceMetadata.annotations) && + Objects.equals(this.clusterName, v1alpha2DevWorkspaceMetadata.clusterName) && + Objects.equals(this.creationTimestamp, v1alpha2DevWorkspaceMetadata.creationTimestamp) && + Objects.equals(this.deletionGracePeriodSeconds, v1alpha2DevWorkspaceMetadata.deletionGracePeriodSeconds) && + Objects.equals(this.deletionTimestamp, v1alpha2DevWorkspaceMetadata.deletionTimestamp) && + Objects.equals(this.finalizers, v1alpha2DevWorkspaceMetadata.finalizers) && + Objects.equals(this.generateName, v1alpha2DevWorkspaceMetadata.generateName) && + Objects.equals(this.generation, v1alpha2DevWorkspaceMetadata.generation) && + Objects.equals(this.labels, v1alpha2DevWorkspaceMetadata.labels) && + Objects.equals(this.managedFields, v1alpha2DevWorkspaceMetadata.managedFields) && + Objects.equals(this.name, v1alpha2DevWorkspaceMetadata.name) && + Objects.equals(this.namespace, v1alpha2DevWorkspaceMetadata.namespace) && + Objects.equals(this.ownerReferences, v1alpha2DevWorkspaceMetadata.ownerReferences) && + Objects.equals(this.resourceVersion, v1alpha2DevWorkspaceMetadata.resourceVersion) && + Objects.equals(this.selfLink, v1alpha2DevWorkspaceMetadata.selfLink) && + Objects.equals(this.uid, v1alpha2DevWorkspaceMetadata.uid); + } + + @Override + public int hashCode() { + return Objects.hash(annotations, clusterName, creationTimestamp, deletionGracePeriodSeconds, deletionTimestamp, finalizers, generateName, generation, labels, managedFields, name, namespace, ownerReferences, resourceVersion, selfLink, uid); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceMetadata {\n"); + sb.append(" annotations: ").append(toIndentedString(annotations)).append("\n"); + sb.append(" clusterName: ").append(toIndentedString(clusterName)).append("\n"); + sb.append(" creationTimestamp: ").append(toIndentedString(creationTimestamp)).append("\n"); + sb.append(" deletionGracePeriodSeconds: ").append(toIndentedString(deletionGracePeriodSeconds)).append("\n"); + sb.append(" deletionTimestamp: ").append(toIndentedString(deletionTimestamp)).append("\n"); + sb.append(" finalizers: ").append(toIndentedString(finalizers)).append("\n"); + sb.append(" generateName: ").append(toIndentedString(generateName)).append("\n"); + sb.append(" generation: ").append(toIndentedString(generation)).append("\n"); + sb.append(" labels: ").append(toIndentedString(labels)).append("\n"); + sb.append(" managedFields: ").append(toIndentedString(managedFields)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" namespace: ").append(toIndentedString(namespace)).append("\n"); + sb.append(" ownerReferences: ").append(toIndentedString(ownerReferences)).append("\n"); + sb.append(" resourceVersion: ").append(toIndentedString(resourceVersion)).append("\n"); + sb.append(" selfLink: ").append(toIndentedString(selfLink)).append("\n"); + sb.append(" uid: ").append(toIndentedString(uid)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceMetadataManagedFields.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceMetadataManagedFields.java new file mode 100644 index 0000000..5209236 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceMetadataManagedFields.java @@ -0,0 +1,246 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to. + */ +@ApiModel(description = "ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.") + +public class V1alpha2DevWorkspaceMetadataManagedFields { + public static final String SERIALIZED_NAME_API_VERSION = "apiVersion"; + @SerializedName(SERIALIZED_NAME_API_VERSION) + private String apiVersion; + + public static final String SERIALIZED_NAME_FIELDS_TYPE = "fieldsType"; + @SerializedName(SERIALIZED_NAME_FIELDS_TYPE) + private String fieldsType; + + public static final String SERIALIZED_NAME_FIELDS_V1 = "fieldsV1"; + @SerializedName(SERIALIZED_NAME_FIELDS_V1) + private Object fieldsV1; + + public static final String SERIALIZED_NAME_MANAGER = "manager"; + @SerializedName(SERIALIZED_NAME_MANAGER) + private String manager; + + public static final String SERIALIZED_NAME_OPERATION = "operation"; + @SerializedName(SERIALIZED_NAME_OPERATION) + private String operation; + + public static final String SERIALIZED_NAME_TIME = "time"; + @SerializedName(SERIALIZED_NAME_TIME) + private OffsetDateTime time; + + + public V1alpha2DevWorkspaceMetadataManagedFields apiVersion(String apiVersion) { + + this.apiVersion = apiVersion; + return this; + } + + /** + * 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. + * @return apiVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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.") + + public String getApiVersion() { + return apiVersion; + } + + + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + + public V1alpha2DevWorkspaceMetadataManagedFields fieldsType(String fieldsType) { + + this.fieldsType = fieldsType; + return this; + } + + /** + * FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: \"FieldsV1\" + * @return fieldsType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: \"FieldsV1\"") + + public String getFieldsType() { + return fieldsType; + } + + + public void setFieldsType(String fieldsType) { + this.fieldsType = fieldsType; + } + + + public V1alpha2DevWorkspaceMetadataManagedFields fieldsV1(Object fieldsV1) { + + this.fieldsV1 = fieldsV1; + return this; + } + + /** + * FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type. + * @return fieldsV1 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type.") + + public Object getFieldsV1() { + return fieldsV1; + } + + + public void setFieldsV1(Object fieldsV1) { + this.fieldsV1 = fieldsV1; + } + + + public V1alpha2DevWorkspaceMetadataManagedFields manager(String manager) { + + this.manager = manager; + return this; + } + + /** + * Manager is an identifier of the workflow managing these fields. + * @return manager + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Manager is an identifier of the workflow managing these fields.") + + public String getManager() { + return manager; + } + + + public void setManager(String manager) { + this.manager = manager; + } + + + public V1alpha2DevWorkspaceMetadataManagedFields operation(String operation) { + + this.operation = operation; + return this; + } + + /** + * Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'. + * @return operation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'.") + + public String getOperation() { + return operation; + } + + + public void setOperation(String operation) { + this.operation = operation; + } + + + public V1alpha2DevWorkspaceMetadataManagedFields time(OffsetDateTime time) { + + this.time = time; + return this; + } + + /** + * Time is timestamp of when these fields were set. It should always be empty if Operation is 'Apply' + * @return time + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Time is timestamp of when these fields were set. It should always be empty if Operation is 'Apply'") + + public OffsetDateTime getTime() { + return time; + } + + + public void setTime(OffsetDateTime time) { + this.time = time; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceMetadataManagedFields v1alpha2DevWorkspaceMetadataManagedFields = (V1alpha2DevWorkspaceMetadataManagedFields) o; + return Objects.equals(this.apiVersion, v1alpha2DevWorkspaceMetadataManagedFields.apiVersion) && + Objects.equals(this.fieldsType, v1alpha2DevWorkspaceMetadataManagedFields.fieldsType) && + Objects.equals(this.fieldsV1, v1alpha2DevWorkspaceMetadataManagedFields.fieldsV1) && + Objects.equals(this.manager, v1alpha2DevWorkspaceMetadataManagedFields.manager) && + Objects.equals(this.operation, v1alpha2DevWorkspaceMetadataManagedFields.operation) && + Objects.equals(this.time, v1alpha2DevWorkspaceMetadataManagedFields.time); + } + + @Override + public int hashCode() { + return Objects.hash(apiVersion, fieldsType, fieldsV1, manager, operation, time); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceMetadataManagedFields {\n"); + sb.append(" apiVersion: ").append(toIndentedString(apiVersion)).append("\n"); + sb.append(" fieldsType: ").append(toIndentedString(fieldsType)).append("\n"); + sb.append(" fieldsV1: ").append(toIndentedString(fieldsV1)).append("\n"); + sb.append(" manager: ").append(toIndentedString(manager)).append("\n"); + sb.append(" operation: ").append(toIndentedString(operation)).append("\n"); + sb.append(" time: ").append(toIndentedString(time)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceMetadataOwnerReferences.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceMetadataOwnerReferences.java new file mode 100644 index 0000000..118718f --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceMetadataOwnerReferences.java @@ -0,0 +1,241 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * 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. + */ +@ApiModel(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.") + +public class V1alpha2DevWorkspaceMetadataOwnerReferences { + public static final String SERIALIZED_NAME_API_VERSION = "apiVersion"; + @SerializedName(SERIALIZED_NAME_API_VERSION) + private String apiVersion; + + public static final String SERIALIZED_NAME_BLOCK_OWNER_DELETION = "blockOwnerDeletion"; + @SerializedName(SERIALIZED_NAME_BLOCK_OWNER_DELETION) + private Boolean blockOwnerDeletion; + + public static final String SERIALIZED_NAME_CONTROLLER = "controller"; + @SerializedName(SERIALIZED_NAME_CONTROLLER) + private Boolean controller; + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private String kind; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_UID = "uid"; + @SerializedName(SERIALIZED_NAME_UID) + private String uid; + + + public V1alpha2DevWorkspaceMetadataOwnerReferences apiVersion(String apiVersion) { + + this.apiVersion = apiVersion; + return this; + } + + /** + * API version of the referent. + * @return apiVersion + **/ + @ApiModelProperty(required = true, value = "API version of the referent.") + + public String getApiVersion() { + return apiVersion; + } + + + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + + public V1alpha2DevWorkspaceMetadataOwnerReferences blockOwnerDeletion(Boolean blockOwnerDeletion) { + + this.blockOwnerDeletion = blockOwnerDeletion; + return this; + } + + /** + * 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. + * @return blockOwnerDeletion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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.") + + public Boolean getBlockOwnerDeletion() { + return blockOwnerDeletion; + } + + + public void setBlockOwnerDeletion(Boolean blockOwnerDeletion) { + this.blockOwnerDeletion = blockOwnerDeletion; + } + + + public V1alpha2DevWorkspaceMetadataOwnerReferences controller(Boolean controller) { + + this.controller = controller; + return this; + } + + /** + * If true, this reference points to the managing controller. + * @return controller + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If true, this reference points to the managing controller.") + + public Boolean getController() { + return controller; + } + + + public void setController(Boolean controller) { + this.controller = controller; + } + + + public V1alpha2DevWorkspaceMetadataOwnerReferences kind(String kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + * @return kind + **/ + @ApiModelProperty(required = true, value = "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds") + + public String getKind() { + return kind; + } + + + public void setKind(String kind) { + this.kind = kind; + } + + + public V1alpha2DevWorkspaceMetadataOwnerReferences name(String name) { + + this.name = name; + return this; + } + + /** + * Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names + * @return name + **/ + @ApiModelProperty(required = true, value = "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceMetadataOwnerReferences uid(String uid) { + + this.uid = uid; + return this; + } + + /** + * UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids + * @return uid + **/ + @ApiModelProperty(required = true, value = "UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids") + + public String getUid() { + return uid; + } + + + public void setUid(String uid) { + this.uid = uid; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceMetadataOwnerReferences v1alpha2DevWorkspaceMetadataOwnerReferences = (V1alpha2DevWorkspaceMetadataOwnerReferences) o; + return Objects.equals(this.apiVersion, v1alpha2DevWorkspaceMetadataOwnerReferences.apiVersion) && + Objects.equals(this.blockOwnerDeletion, v1alpha2DevWorkspaceMetadataOwnerReferences.blockOwnerDeletion) && + Objects.equals(this.controller, v1alpha2DevWorkspaceMetadataOwnerReferences.controller) && + Objects.equals(this.kind, v1alpha2DevWorkspaceMetadataOwnerReferences.kind) && + Objects.equals(this.name, v1alpha2DevWorkspaceMetadataOwnerReferences.name) && + Objects.equals(this.uid, v1alpha2DevWorkspaceMetadataOwnerReferences.uid); + } + + @Override + public int hashCode() { + return Objects.hash(apiVersion, blockOwnerDeletion, controller, kind, name, uid); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceMetadataOwnerReferences {\n"); + sb.append(" apiVersion: ").append(toIndentedString(apiVersion)).append("\n"); + sb.append(" blockOwnerDeletion: ").append(toIndentedString(blockOwnerDeletion)).append("\n"); + sb.append(" controller: ").append(toIndentedString(controller)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" uid: ").append(toIndentedString(uid)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpec.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpec.java new file mode 100644 index 0000000..6700f0d --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpec.java @@ -0,0 +1,158 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplate; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * DevWorkspaceSpec defines the desired state of DevWorkspace + */ +@ApiModel(description = "DevWorkspaceSpec defines the desired state of DevWorkspace") + +public class V1alpha2DevWorkspaceSpec { + public static final String SERIALIZED_NAME_ROUTING_CLASS = "routingClass"; + @SerializedName(SERIALIZED_NAME_ROUTING_CLASS) + private String routingClass; + + public static final String SERIALIZED_NAME_STARTED = "started"; + @SerializedName(SERIALIZED_NAME_STARTED) + private Boolean started; + + public static final String SERIALIZED_NAME_TEMPLATE = "template"; + @SerializedName(SERIALIZED_NAME_TEMPLATE) + private V1alpha2DevWorkspaceSpecTemplate template; + + + public V1alpha2DevWorkspaceSpec routingClass(String routingClass) { + + this.routingClass = routingClass; + return this; + } + + /** + * Get routingClass + * @return routingClass + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getRoutingClass() { + return routingClass; + } + + + public void setRoutingClass(String routingClass) { + this.routingClass = routingClass; + } + + + public V1alpha2DevWorkspaceSpec started(Boolean started) { + + this.started = started; + return this; + } + + /** + * Get started + * @return started + **/ + @ApiModelProperty(required = true, value = "") + + public Boolean getStarted() { + return started; + } + + + public void setStarted(Boolean started) { + this.started = started; + } + + + public V1alpha2DevWorkspaceSpec template(V1alpha2DevWorkspaceSpecTemplate template) { + + this.template = template; + return this; + } + + /** + * Get template + * @return template + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplate getTemplate() { + return template; + } + + + public void setTemplate(V1alpha2DevWorkspaceSpecTemplate template) { + this.template = template; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpec v1alpha2DevWorkspaceSpec = (V1alpha2DevWorkspaceSpec) o; + return Objects.equals(this.routingClass, v1alpha2DevWorkspaceSpec.routingClass) && + Objects.equals(this.started, v1alpha2DevWorkspaceSpec.started) && + Objects.equals(this.template, v1alpha2DevWorkspaceSpec.template); + } + + @Override + public int hashCode() { + return Objects.hash(routingClass, started, template); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpec {\n"); + sb.append(" routingClass: ").append(toIndentedString(routingClass)).append("\n"); + sb.append(" started: ").append(toIndentedString(started)).append("\n"); + sb.append(" template: ").append(toIndentedString(template)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplate.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplate.java new file mode 100644 index 0000000..d70e635 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplate.java @@ -0,0 +1,353 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateCommands; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponents; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateEvents; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParent; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateProjects; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateStarterProjects; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Structure of the devworkspace. This is also the specification of a devworkspace template. + */ +@ApiModel(description = "Structure of the devworkspace. This is also the specification of a devworkspace template.") + +public class V1alpha2DevWorkspaceSpecTemplate { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_COMMANDS = "commands"; + @SerializedName(SERIALIZED_NAME_COMMANDS) + private List commands = null; + + public static final String SERIALIZED_NAME_COMPONENTS = "components"; + @SerializedName(SERIALIZED_NAME_COMPONENTS) + private List components = null; + + public static final String SERIALIZED_NAME_EVENTS = "events"; + @SerializedName(SERIALIZED_NAME_EVENTS) + private V1alpha2DevWorkspaceSpecTemplateEvents events; + + public static final String SERIALIZED_NAME_PARENT = "parent"; + @SerializedName(SERIALIZED_NAME_PARENT) + private V1alpha2DevWorkspaceSpecTemplateParent parent; + + public static final String SERIALIZED_NAME_PROJECTS = "projects"; + @SerializedName(SERIALIZED_NAME_PROJECTS) + private List projects = null; + + public static final String SERIALIZED_NAME_STARTER_PROJECTS = "starterProjects"; + @SerializedName(SERIALIZED_NAME_STARTER_PROJECTS) + private List starterProjects = null; + + public static final String SERIALIZED_NAME_VARIABLES = "variables"; + @SerializedName(SERIALIZED_NAME_VARIABLES) + private Map variables = null; + + + public V1alpha2DevWorkspaceSpecTemplate attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplate commands(List commands) { + + this.commands = commands; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplate addCommandsItem(V1alpha2DevWorkspaceSpecTemplateCommands commandsItem) { + if (this.commands == null) { + this.commands = new ArrayList<>(); + } + this.commands.add(commandsItem); + return this; + } + + /** + * Predefined, ready-to-use, devworkspace-related commands + * @return commands + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Predefined, ready-to-use, devworkspace-related commands") + + public List getCommands() { + return commands; + } + + + public void setCommands(List commands) { + this.commands = commands; + } + + + public V1alpha2DevWorkspaceSpecTemplate components(List components) { + + this.components = components; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplate addComponentsItem(V1alpha2DevWorkspaceSpecTemplateComponents componentsItem) { + if (this.components == null) { + this.components = new ArrayList<>(); + } + this.components.add(componentsItem); + return this; + } + + /** + * List of the devworkspace components, such as editor and plugins, user-provided containers, or other types of components + * @return components + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of the devworkspace components, such as editor and plugins, user-provided containers, or other types of components") + + public List getComponents() { + return components; + } + + + public void setComponents(List components) { + this.components = components; + } + + + public V1alpha2DevWorkspaceSpecTemplate events(V1alpha2DevWorkspaceSpecTemplateEvents events) { + + this.events = events; + return this; + } + + /** + * Get events + * @return events + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateEvents getEvents() { + return events; + } + + + public void setEvents(V1alpha2DevWorkspaceSpecTemplateEvents events) { + this.events = events; + } + + + public V1alpha2DevWorkspaceSpecTemplate parent(V1alpha2DevWorkspaceSpecTemplateParent parent) { + + this.parent = parent; + return this; + } + + /** + * Get parent + * @return parent + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParent getParent() { + return parent; + } + + + public void setParent(V1alpha2DevWorkspaceSpecTemplateParent parent) { + this.parent = parent; + } + + + public V1alpha2DevWorkspaceSpecTemplate projects(List projects) { + + this.projects = projects; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplate addProjectsItem(V1alpha2DevWorkspaceSpecTemplateProjects projectsItem) { + if (this.projects == null) { + this.projects = new ArrayList<>(); + } + this.projects.add(projectsItem); + return this; + } + + /** + * Projects worked on in the devworkspace, containing names and sources locations + * @return projects + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Projects worked on in the devworkspace, containing names and sources locations") + + public List getProjects() { + return projects; + } + + + public void setProjects(List projects) { + this.projects = projects; + } + + + public V1alpha2DevWorkspaceSpecTemplate starterProjects(List starterProjects) { + + this.starterProjects = starterProjects; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplate addStarterProjectsItem(V1alpha2DevWorkspaceSpecTemplateStarterProjects starterProjectsItem) { + if (this.starterProjects == null) { + this.starterProjects = new ArrayList<>(); + } + this.starterProjects.add(starterProjectsItem); + return this; + } + + /** + * StarterProjects is a project that can be used as a starting point when bootstrapping new projects + * @return starterProjects + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "StarterProjects is a project that can be used as a starting point when bootstrapping new projects") + + public List getStarterProjects() { + return starterProjects; + } + + + public void setStarterProjects(List starterProjects) { + this.starterProjects = starterProjects; + } + + + public V1alpha2DevWorkspaceSpecTemplate variables(Map variables) { + + this.variables = variables; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplate putVariablesItem(String key, String variablesItem) { + if (this.variables == null) { + this.variables = new HashMap<>(); + } + this.variables.put(key, variablesItem); + return this; + } + + /** + * Map of key-value variables used for string replacement in the devfile. Values can be referenced via {{variable-key}} to replace the corresponding value in string fields in the devfile. Replacement cannot be used for - schemaVersion, metadata, parent source - element identifiers, e.g. command id, component name, endpoint name, project name - references to identifiers, e.g. in events, a command's component, container's volume mount name - string enums, e.g. command group kind, endpoint exposure + * @return variables + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of key-value variables used for string replacement in the devfile. Values can be referenced via {{variable-key}} to replace the corresponding value in string fields in the devfile. Replacement cannot be used for - schemaVersion, metadata, parent source - element identifiers, e.g. command id, component name, endpoint name, project name - references to identifiers, e.g. in events, a command's component, container's volume mount name - string enums, e.g. command group kind, endpoint exposure") + + public Map getVariables() { + return variables; + } + + + public void setVariables(Map variables) { + this.variables = variables; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplate v1alpha2DevWorkspaceSpecTemplate = (V1alpha2DevWorkspaceSpecTemplate) o; + return Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplate.attributes) && + Objects.equals(this.commands, v1alpha2DevWorkspaceSpecTemplate.commands) && + Objects.equals(this.components, v1alpha2DevWorkspaceSpecTemplate.components) && + Objects.equals(this.events, v1alpha2DevWorkspaceSpecTemplate.events) && + Objects.equals(this.parent, v1alpha2DevWorkspaceSpecTemplate.parent) && + Objects.equals(this.projects, v1alpha2DevWorkspaceSpecTemplate.projects) && + Objects.equals(this.starterProjects, v1alpha2DevWorkspaceSpecTemplate.starterProjects) && + Objects.equals(this.variables, v1alpha2DevWorkspaceSpecTemplate.variables); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, commands, components, events, parent, projects, starterProjects, variables); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplate {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" commands: ").append(toIndentedString(commands)).append("\n"); + sb.append(" components: ").append(toIndentedString(components)).append("\n"); + sb.append(" events: ").append(toIndentedString(events)).append("\n"); + sb.append(" parent: ").append(toIndentedString(parent)).append("\n"); + sb.append(" projects: ").append(toIndentedString(projects)).append("\n"); + sb.append(" starterProjects: ").append(toIndentedString(starterProjects)).append("\n"); + sb.append(" variables: ").append(toIndentedString(variables)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommands.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommands.java new file mode 100644 index 0000000..86424e0 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommands.java @@ -0,0 +1,247 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceSpecTemplateCommands + */ + +public class V1alpha2DevWorkspaceSpecTemplateCommands { + public static final String SERIALIZED_NAME_APPLY = "apply"; + @SerializedName(SERIALIZED_NAME_APPLY) + private V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply apply; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_COMPOSITE = "composite"; + @SerializedName(SERIALIZED_NAME_COMPOSITE) + private V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite composite; + + public static final String SERIALIZED_NAME_CUSTOM = "custom"; + @SerializedName(SERIALIZED_NAME_CUSTOM) + private V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom custom; + + public static final String SERIALIZED_NAME_EXEC = "exec"; + @SerializedName(SERIALIZED_NAME_EXEC) + private V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec exec; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + + public V1alpha2DevWorkspaceSpecTemplateCommands apply(V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply apply) { + + this.apply = apply; + return this; + } + + /** + * Get apply + * @return apply + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply getApply() { + return apply; + } + + + public void setApply(V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply apply) { + this.apply = apply; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommands attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommands composite(V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite composite) { + + this.composite = composite; + return this; + } + + /** + * Get composite + * @return composite + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite getComposite() { + return composite; + } + + + public void setComposite(V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite composite) { + this.composite = composite; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommands custom(V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom custom) { + + this.custom = custom; + return this; + } + + /** + * Get custom + * @return custom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom getCustom() { + return custom; + } + + + public void setCustom(V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom custom) { + this.custom = custom; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommands exec(V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec exec) { + + this.exec = exec; + return this; + } + + /** + * Get exec + * @return exec + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec getExec() { + return exec; + } + + + public void setExec(V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec exec) { + this.exec = exec; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommands id(String id) { + + this.id = id; + return this; + } + + /** + * Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events. + * @return id + **/ + @ApiModelProperty(required = true, value = "Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateCommands v1alpha2DevWorkspaceSpecTemplateCommands = (V1alpha2DevWorkspaceSpecTemplateCommands) o; + return Objects.equals(this.apply, v1alpha2DevWorkspaceSpecTemplateCommands.apply) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateCommands.attributes) && + Objects.equals(this.composite, v1alpha2DevWorkspaceSpecTemplateCommands.composite) && + Objects.equals(this.custom, v1alpha2DevWorkspaceSpecTemplateCommands.custom) && + Objects.equals(this.exec, v1alpha2DevWorkspaceSpecTemplateCommands.exec) && + Objects.equals(this.id, v1alpha2DevWorkspaceSpecTemplateCommands.id); + } + + @Override + public int hashCode() { + return Objects.hash(apply, attributes, composite, custom, exec, id); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateCommands {\n"); + sb.append(" apply: ").append(toIndentedString(apply)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" composite: ").append(toIndentedString(composite)).append("\n"); + sb.append(" custom: ").append(toIndentedString(custom)).append("\n"); + sb.append(" exec: ").append(toIndentedString(exec)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply.java new file mode 100644 index 0000000..c649c73 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply.java @@ -0,0 +1,158 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. + */ +@ApiModel(description = "Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false.") + +public class V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply { + public static final String SERIALIZED_NAME_COMPONENT = "component"; + @SerializedName(SERIALIZED_NAME_COMPONENT) + private String component; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply component(String component) { + + this.component = component; + return this; + } + + /** + * Describes component that will be applied + * @return component + **/ + @ApiModelProperty(required = true, value = "Describes component that will be applied") + + public String getComponent() { + return component; + } + + + public void setComponent(String component) { + this.component = component; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply group(V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply v1alpha2DevWorkspaceSpecTemplateCommandsItemsApply = (V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply) o; + return Objects.equals(this.component, v1alpha2DevWorkspaceSpecTemplateCommandsItemsApply.component) && + Objects.equals(this.group, v1alpha2DevWorkspaceSpecTemplateCommandsItemsApply.group) && + Objects.equals(this.label, v1alpha2DevWorkspaceSpecTemplateCommandsItemsApply.label); + } + + @Override + public int hashCode() { + return Objects.hash(component, group, label); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateCommandsItemsApply {\n"); + sb.append(" component: ").append(toIndentedString(component)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup.java new file mode 100644 index 0000000..31c8afc --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup.java @@ -0,0 +1,181 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @ApiModelProperty(required = true, value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup v1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup = (V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateCommandsItemsApplyGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite.java new file mode 100644 index 0000000..f8b6ec4 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Composite command that allows executing several sub-commands either sequentially or concurrently + */ +@ApiModel(description = "Composite command that allows executing several sub-commands either sequentially or concurrently") + +public class V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite { + public static final String SERIALIZED_NAME_COMMANDS = "commands"; + @SerializedName(SERIALIZED_NAME_COMMANDS) + private List commands = null; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + public static final String SERIALIZED_NAME_PARALLEL = "parallel"; + @SerializedName(SERIALIZED_NAME_PARALLEL) + private Boolean parallel; + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite commands(List commands) { + + this.commands = commands; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite addCommandsItem(String commandsItem) { + if (this.commands == null) { + this.commands = new ArrayList<>(); + } + this.commands.add(commandsItem); + return this; + } + + /** + * The commands that comprise this composite command + * @return commands + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The commands that comprise this composite command") + + public List getCommands() { + return commands; + } + + + public void setCommands(List commands) { + this.commands = commands; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite group(V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite parallel(Boolean parallel) { + + this.parallel = parallel; + return this; + } + + /** + * Indicates if the sub-commands should be executed concurrently + * @return parallel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates if the sub-commands should be executed concurrently") + + public Boolean getParallel() { + return parallel; + } + + + public void setParallel(Boolean parallel) { + this.parallel = parallel; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite v1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite = (V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite) o; + return Objects.equals(this.commands, v1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite.commands) && + Objects.equals(this.group, v1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite.group) && + Objects.equals(this.label, v1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite.label) && + Objects.equals(this.parallel, v1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite.parallel); + } + + @Override + public int hashCode() { + return Objects.hash(commands, group, label, parallel); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateCommandsItemsComposite {\n"); + sb.append(" commands: ").append(toIndentedString(commands)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" parallel: ").append(toIndentedString(parallel)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup.java new file mode 100644 index 0000000..9013ae6 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup.java @@ -0,0 +1,181 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @ApiModelProperty(required = true, value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup v1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup = (V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateCommandsItemsCompositeGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom.java new file mode 100644 index 0000000..2514a25 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom.java @@ -0,0 +1,186 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Custom command whose logic is implementation-dependant and should be provided by the user possibly through some dedicated plugin + */ +@ApiModel(description = "Custom command whose logic is implementation-dependant and should be provided by the user possibly through some dedicated plugin") + +public class V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom { + public static final String SERIALIZED_NAME_COMMAND_CLASS = "commandClass"; + @SerializedName(SERIALIZED_NAME_COMMAND_CLASS) + private String commandClass; + + public static final String SERIALIZED_NAME_EMBEDDED_RESOURCE = "embeddedResource"; + @SerializedName(SERIALIZED_NAME_EMBEDDED_RESOURCE) + private Object embeddedResource; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom commandClass(String commandClass) { + + this.commandClass = commandClass; + return this; + } + + /** + * Class of command that the associated implementation component should use to process this command with the appropriate logic + * @return commandClass + **/ + @ApiModelProperty(required = true, value = "Class of command that the associated implementation component should use to process this command with the appropriate logic") + + public String getCommandClass() { + return commandClass; + } + + + public void setCommandClass(String commandClass) { + this.commandClass = commandClass; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom embeddedResource(Object embeddedResource) { + + this.embeddedResource = embeddedResource; + return this; + } + + /** + * Additional free-form configuration for this custom command that the implementation component will know how to use + * @return embeddedResource + **/ + @ApiModelProperty(required = true, value = "Additional free-form configuration for this custom command that the implementation component will know how to use") + + public Object getEmbeddedResource() { + return embeddedResource; + } + + + public void setEmbeddedResource(Object embeddedResource) { + this.embeddedResource = embeddedResource; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom group(V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom v1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom = (V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom) o; + return Objects.equals(this.commandClass, v1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom.commandClass) && + Objects.equals(this.embeddedResource, v1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom.embeddedResource) && + Objects.equals(this.group, v1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom.group) && + Objects.equals(this.label, v1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom.label); + } + + @Override + public int hashCode() { + return Objects.hash(commandClass, embeddedResource, group, label); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustom {\n"); + sb.append(" commandClass: ").append(toIndentedString(commandClass)).append("\n"); + sb.append(" embeddedResource: ").append(toIndentedString(embeddedResource)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup.java new file mode 100644 index 0000000..06044ac --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup.java @@ -0,0 +1,181 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @ApiModelProperty(required = true, value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup v1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup = (V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateCommandsItemsCustomGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec.java new file mode 100644 index 0000000..67a46a3 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec.java @@ -0,0 +1,284 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CLI Command executed in an existing component container + */ +@ApiModel(description = "CLI Command executed in an existing component container") + +public class V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec { + public static final String SERIALIZED_NAME_COMMAND_LINE = "commandLine"; + @SerializedName(SERIALIZED_NAME_COMMAND_LINE) + private String commandLine; + + public static final String SERIALIZED_NAME_COMPONENT = "component"; + @SerializedName(SERIALIZED_NAME_COMPONENT) + private String component; + + public static final String SERIALIZED_NAME_ENV = "env"; + @SerializedName(SERIALIZED_NAME_ENV) + private List env = null; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup group; + + public static final String SERIALIZED_NAME_HOT_RELOAD_CAPABLE = "hotReloadCapable"; + @SerializedName(SERIALIZED_NAME_HOT_RELOAD_CAPABLE) + private Boolean hotReloadCapable; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + public static final String SERIALIZED_NAME_WORKING_DIR = "workingDir"; + @SerializedName(SERIALIZED_NAME_WORKING_DIR) + private String workingDir; + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec commandLine(String commandLine) { + + this.commandLine = commandLine; + return this; + } + + /** + * The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. + * @return commandLine + **/ + @ApiModelProperty(required = true, value = "The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one.") + + public String getCommandLine() { + return commandLine; + } + + + public void setCommandLine(String commandLine) { + this.commandLine = commandLine; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec component(String component) { + + this.component = component; + return this; + } + + /** + * Describes component to which given action relates + * @return component + **/ + @ApiModelProperty(required = true, value = "Describes component to which given action relates") + + public String getComponent() { + return component; + } + + + public void setComponent(String component) { + this.component = component; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec env(List env) { + + this.env = env; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec addEnvItem(V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv envItem) { + if (this.env == null) { + this.env = new ArrayList<>(); + } + this.env.add(envItem); + return this; + } + + /** + * Optional list of environment variables that have to be set before running the command + * @return env + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional list of environment variables that have to be set before running the command") + + public List getEnv() { + return env; + } + + + public void setEnv(List env) { + this.env = env; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec group(V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec hotReloadCapable(Boolean hotReloadCapable) { + + this.hotReloadCapable = hotReloadCapable; + return this; + } + + /** + * Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false` + * @return hotReloadCapable + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false`") + + public Boolean getHotReloadCapable() { + return hotReloadCapable; + } + + + public void setHotReloadCapable(Boolean hotReloadCapable) { + this.hotReloadCapable = hotReloadCapable; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec workingDir(String workingDir) { + + this.workingDir = workingDir; + return this; + } + + /** + * Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. + * @return workingDir + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one.") + + public String getWorkingDir() { + return workingDir; + } + + + public void setWorkingDir(String workingDir) { + this.workingDir = workingDir; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec v1alpha2DevWorkspaceSpecTemplateCommandsItemsExec = (V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec) o; + return Objects.equals(this.commandLine, v1alpha2DevWorkspaceSpecTemplateCommandsItemsExec.commandLine) && + Objects.equals(this.component, v1alpha2DevWorkspaceSpecTemplateCommandsItemsExec.component) && + Objects.equals(this.env, v1alpha2DevWorkspaceSpecTemplateCommandsItemsExec.env) && + Objects.equals(this.group, v1alpha2DevWorkspaceSpecTemplateCommandsItemsExec.group) && + Objects.equals(this.hotReloadCapable, v1alpha2DevWorkspaceSpecTemplateCommandsItemsExec.hotReloadCapable) && + Objects.equals(this.label, v1alpha2DevWorkspaceSpecTemplateCommandsItemsExec.label) && + Objects.equals(this.workingDir, v1alpha2DevWorkspaceSpecTemplateCommandsItemsExec.workingDir); + } + + @Override + public int hashCode() { + return Objects.hash(commandLine, component, env, group, hotReloadCapable, label, workingDir); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateCommandsItemsExec {\n"); + sb.append(" commandLine: ").append(toIndentedString(commandLine)).append("\n"); + sb.append(" component: ").append(toIndentedString(component)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" hotReloadCapable: ").append(toIndentedString(hotReloadCapable)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" workingDir: ").append(toIndentedString(workingDir)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv.java new file mode 100644 index 0000000..fcbc749 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv.java @@ -0,0 +1,126 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv + */ + +public class V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @ApiModelProperty(required = true, value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv v1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv = (V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv.name) && + Objects.equals(this.value, v1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecEnv {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup.java new file mode 100644 index 0000000..6f7c5ee --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup.java @@ -0,0 +1,181 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @ApiModelProperty(required = true, value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup v1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup = (V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateCommandsItemsExecGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponents.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponents.java new file mode 100644 index 0000000..f702229 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponents.java @@ -0,0 +1,337 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceSpecTemplateComponents + */ + +public class V1alpha2DevWorkspaceSpecTemplateComponents { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_CONTAINER = "container"; + @SerializedName(SERIALIZED_NAME_CONTAINER) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer container; + + public static final String SERIALIZED_NAME_CUSTOM = "custom"; + @SerializedName(SERIALIZED_NAME_CUSTOM) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom custom; + + public static final String SERIALIZED_NAME_IMAGE = "image"; + @SerializedName(SERIALIZED_NAME_IMAGE) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage image; + + public static final String SERIALIZED_NAME_KUBERNETES = "kubernetes"; + @SerializedName(SERIALIZED_NAME_KUBERNETES) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes kubernetes; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OPENSHIFT = "openshift"; + @SerializedName(SERIALIZED_NAME_OPENSHIFT) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift openshift; + + public static final String SERIALIZED_NAME_PLUGIN = "plugin"; + @SerializedName(SERIALIZED_NAME_PLUGIN) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin plugin; + + public static final String SERIALIZED_NAME_VOLUME = "volume"; + @SerializedName(SERIALIZED_NAME_VOLUME) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume volume; + + + public V1alpha2DevWorkspaceSpecTemplateComponents attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponents container(V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer container) { + + this.container = container; + return this; + } + + /** + * Get container + * @return container + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer getContainer() { + return container; + } + + + public void setContainer(V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer container) { + this.container = container; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponents custom(V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom custom) { + + this.custom = custom; + return this; + } + + /** + * Get custom + * @return custom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom getCustom() { + return custom; + } + + + public void setCustom(V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom custom) { + this.custom = custom; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponents image(V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage image) { + + this.image = image; + return this; + } + + /** + * Get image + * @return image + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage getImage() { + return image; + } + + + public void setImage(V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage image) { + this.image = image; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponents kubernetes(V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes kubernetes) { + + this.kubernetes = kubernetes; + return this; + } + + /** + * Get kubernetes + * @return kubernetes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes getKubernetes() { + return kubernetes; + } + + + public void setKubernetes(V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes kubernetes) { + this.kubernetes = kubernetes; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponents name(String name) { + + this.name = name; + return this; + } + + /** + * Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin. + * @return name + **/ + @ApiModelProperty(required = true, value = "Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponents openshift(V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift openshift) { + + this.openshift = openshift; + return this; + } + + /** + * Get openshift + * @return openshift + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift getOpenshift() { + return openshift; + } + + + public void setOpenshift(V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift openshift) { + this.openshift = openshift; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponents plugin(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin plugin) { + + this.plugin = plugin; + return this; + } + + /** + * Get plugin + * @return plugin + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin getPlugin() { + return plugin; + } + + + public void setPlugin(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin plugin) { + this.plugin = plugin; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponents volume(V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume volume) { + + this.volume = volume; + return this; + } + + /** + * Get volume + * @return volume + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume getVolume() { + return volume; + } + + + public void setVolume(V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume volume) { + this.volume = volume; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponents v1alpha2DevWorkspaceSpecTemplateComponents = (V1alpha2DevWorkspaceSpecTemplateComponents) o; + return Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateComponents.attributes) && + Objects.equals(this.container, v1alpha2DevWorkspaceSpecTemplateComponents.container) && + Objects.equals(this.custom, v1alpha2DevWorkspaceSpecTemplateComponents.custom) && + Objects.equals(this.image, v1alpha2DevWorkspaceSpecTemplateComponents.image) && + Objects.equals(this.kubernetes, v1alpha2DevWorkspaceSpecTemplateComponents.kubernetes) && + Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateComponents.name) && + Objects.equals(this.openshift, v1alpha2DevWorkspaceSpecTemplateComponents.openshift) && + Objects.equals(this.plugin, v1alpha2DevWorkspaceSpecTemplateComponents.plugin) && + Objects.equals(this.volume, v1alpha2DevWorkspaceSpecTemplateComponents.volume); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, container, custom, image, kubernetes, name, openshift, plugin, volume); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponents {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" container: ").append(toIndentedString(container)).append("\n"); + sb.append(" custom: ").append(toIndentedString(custom)).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" kubernetes: ").append(toIndentedString(kubernetes)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" openshift: ").append(toIndentedString(openshift)).append("\n"); + sb.append(" plugin: ").append(toIndentedString(plugin)).append("\n"); + sb.append(" volume: ").append(toIndentedString(volume)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.java new file mode 100644 index 0000000..0830c4d --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.java @@ -0,0 +1,522 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows adding and configuring devworkspace-related containers + */ +@ApiModel(description = "Allows adding and configuring devworkspace-related containers") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation annotation; + + public static final String SERIALIZED_NAME_ARGS = "args"; + @SerializedName(SERIALIZED_NAME_ARGS) + private List args = null; + + public static final String SERIALIZED_NAME_COMMAND = "command"; + @SerializedName(SERIALIZED_NAME_COMMAND) + private List command = null; + + public static final String SERIALIZED_NAME_CPU_LIMIT = "cpuLimit"; + @SerializedName(SERIALIZED_NAME_CPU_LIMIT) + private String cpuLimit; + + public static final String SERIALIZED_NAME_CPU_REQUEST = "cpuRequest"; + @SerializedName(SERIALIZED_NAME_CPU_REQUEST) + private String cpuRequest; + + public static final String SERIALIZED_NAME_DEDICATED_POD = "dedicatedPod"; + @SerializedName(SERIALIZED_NAME_DEDICATED_POD) + private Boolean dedicatedPod; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_ENV = "env"; + @SerializedName(SERIALIZED_NAME_ENV) + private List env = null; + + public static final String SERIALIZED_NAME_IMAGE = "image"; + @SerializedName(SERIALIZED_NAME_IMAGE) + private String image; + + public static final String SERIALIZED_NAME_MEMORY_LIMIT = "memoryLimit"; + @SerializedName(SERIALIZED_NAME_MEMORY_LIMIT) + private String memoryLimit; + + public static final String SERIALIZED_NAME_MEMORY_REQUEST = "memoryRequest"; + @SerializedName(SERIALIZED_NAME_MEMORY_REQUEST) + private String memoryRequest; + + public static final String SERIALIZED_NAME_MOUNT_SOURCES = "mountSources"; + @SerializedName(SERIALIZED_NAME_MOUNT_SOURCES) + private Boolean mountSources; + + public static final String SERIALIZED_NAME_SOURCE_MAPPING = "sourceMapping"; + @SerializedName(SERIALIZED_NAME_SOURCE_MAPPING) + private String sourceMapping = "/projects"; + + public static final String SERIALIZED_NAME_VOLUME_MOUNTS = "volumeMounts"; + @SerializedName(SERIALIZED_NAME_VOLUME_MOUNTS) + private List volumeMounts = null; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer annotation(V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation annotation) { + + this.annotation = annotation; + return this; + } + + /** + * Get annotation + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation getAnnotation() { + return annotation; + } + + + public void setAnnotation(V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer args(List args) { + + this.args = args; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer addArgsItem(String argsItem) { + if (this.args == null) { + this.args = new ArrayList<>(); + } + this.args.add(argsItem); + return this; + } + + /** + * The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image. + * @return args + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image.") + + public List getArgs() { + return args; + } + + + public void setArgs(List args) { + this.args = args; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer command(List command) { + + this.command = command; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer addCommandItem(String commandItem) { + if (this.command == null) { + this.command = new ArrayList<>(); + } + this.command.add(commandItem); + return this; + } + + /** + * The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image. + * @return command + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image.") + + public List getCommand() { + return command; + } + + + public void setCommand(List command) { + this.command = command; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer cpuLimit(String cpuLimit) { + + this.cpuLimit = cpuLimit; + return this; + } + + /** + * Get cpuLimit + * @return cpuLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCpuLimit() { + return cpuLimit; + } + + + public void setCpuLimit(String cpuLimit) { + this.cpuLimit = cpuLimit; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer cpuRequest(String cpuRequest) { + + this.cpuRequest = cpuRequest; + return this; + } + + /** + * Get cpuRequest + * @return cpuRequest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCpuRequest() { + return cpuRequest; + } + + + public void setCpuRequest(String cpuRequest) { + this.cpuRequest = cpuRequest; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer dedicatedPod(Boolean dedicatedPod) { + + this.dedicatedPod = dedicatedPod; + return this; + } + + /** + * Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false` + * @return dedicatedPod + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false`") + + public Boolean getDedicatedPod() { + return dedicatedPod; + } + + + public void setDedicatedPod(Boolean dedicatedPod) { + this.dedicatedPod = dedicatedPod; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer addEndpointsItem(V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer env(List env) { + + this.env = env; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer addEnvItem(V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv envItem) { + if (this.env == null) { + this.env = new ArrayList<>(); + } + this.env.add(envItem); + return this; + } + + /** + * Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE` + * @return env + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE`") + + public List getEnv() { + return env; + } + + + public void setEnv(List env) { + this.env = env; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer image(String image) { + + this.image = image; + return this; + } + + /** + * Get image + * @return image + **/ + @ApiModelProperty(required = true, value = "") + + public String getImage() { + return image; + } + + + public void setImage(String image) { + this.image = image; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer memoryLimit(String memoryLimit) { + + this.memoryLimit = memoryLimit; + return this; + } + + /** + * Get memoryLimit + * @return memoryLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMemoryLimit() { + return memoryLimit; + } + + + public void setMemoryLimit(String memoryLimit) { + this.memoryLimit = memoryLimit; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer memoryRequest(String memoryRequest) { + + this.memoryRequest = memoryRequest; + return this; + } + + /** + * Get memoryRequest + * @return memoryRequest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMemoryRequest() { + return memoryRequest; + } + + + public void setMemoryRequest(String memoryRequest) { + this.memoryRequest = memoryRequest; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer mountSources(Boolean mountSources) { + + this.mountSources = mountSources; + return this; + } + + /** + * Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. + * @return mountSources + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true.") + + public Boolean getMountSources() { + return mountSources; + } + + + public void setMountSources(Boolean mountSources) { + this.mountSources = mountSources; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer sourceMapping(String sourceMapping) { + + this.sourceMapping = sourceMapping; + return this; + } + + /** + * Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used. + * @return sourceMapping + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used.") + + public String getSourceMapping() { + return sourceMapping; + } + + + public void setSourceMapping(String sourceMapping) { + this.sourceMapping = sourceMapping; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer volumeMounts(List volumeMounts) { + + this.volumeMounts = volumeMounts; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer addVolumeMountsItem(V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts volumeMountsItem) { + if (this.volumeMounts == null) { + this.volumeMounts = new ArrayList<>(); + } + this.volumeMounts.add(volumeMountsItem); + return this; + } + + /** + * List of volumes mounts that should be mounted is this container. + * @return volumeMounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of volumes mounts that should be mounted is this container.") + + public List getVolumeMounts() { + return volumeMounts; + } + + + public void setVolumeMounts(List volumeMounts) { + this.volumeMounts = volumeMounts; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.annotation) && + Objects.equals(this.args, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.args) && + Objects.equals(this.command, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.command) && + Objects.equals(this.cpuLimit, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.cpuLimit) && + Objects.equals(this.cpuRequest, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.cpuRequest) && + Objects.equals(this.dedicatedPod, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.dedicatedPod) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.endpoints) && + Objects.equals(this.env, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.env) && + Objects.equals(this.image, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.image) && + Objects.equals(this.memoryLimit, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.memoryLimit) && + Objects.equals(this.memoryRequest, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.memoryRequest) && + Objects.equals(this.mountSources, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.mountSources) && + Objects.equals(this.sourceMapping, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.sourceMapping) && + Objects.equals(this.volumeMounts, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer.volumeMounts); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, args, command, cpuLimit, cpuRequest, dedicatedPod, endpoints, env, image, memoryLimit, memoryRequest, mountSources, sourceMapping, volumeMounts); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainer {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" args: ").append(toIndentedString(args)).append("\n"); + sb.append(" command: ").append(toIndentedString(command)).append("\n"); + sb.append(" cpuLimit: ").append(toIndentedString(cpuLimit)).append("\n"); + sb.append(" cpuRequest: ").append(toIndentedString(cpuRequest)).append("\n"); + sb.append(" dedicatedPod: ").append(toIndentedString(dedicatedPod)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" memoryLimit: ").append(toIndentedString(memoryLimit)).append("\n"); + sb.append(" memoryRequest: ").append(toIndentedString(memoryRequest)).append("\n"); + sb.append(" mountSources: ").append(toIndentedString(mountSources)).append("\n"); + sb.append(" sourceMapping: ").append(toIndentedString(sourceMapping)).append("\n"); + sb.append(" volumeMounts: ").append(toIndentedString(volumeMounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation.java new file mode 100644 index 0000000..6d38cd3 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation.java @@ -0,0 +1,148 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Annotations that should be added to specific resources for this container + */ +@ApiModel(description = "Annotations that should be added to specific resources for this container") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation { + public static final String SERIALIZED_NAME_DEPLOYMENT = "deployment"; + @SerializedName(SERIALIZED_NAME_DEPLOYMENT) + private Map deployment = null; + + public static final String SERIALIZED_NAME_SERVICE = "service"; + @SerializedName(SERIALIZED_NAME_SERVICE) + private Map service = null; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation deployment(Map deployment) { + + this.deployment = deployment; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation putDeploymentItem(String key, String deploymentItem) { + if (this.deployment == null) { + this.deployment = new HashMap<>(); + } + this.deployment.put(key, deploymentItem); + return this; + } + + /** + * Annotations to be added to deployment + * @return deployment + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to deployment") + + public Map getDeployment() { + return deployment; + } + + + public void setDeployment(Map deployment) { + this.deployment = deployment; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation service(Map service) { + + this.service = service; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation putServiceItem(String key, String serviceItem) { + if (this.service == null) { + this.service = new HashMap<>(); + } + this.service.put(key, serviceItem); + return this; + } + + /** + * Annotations to be added to service + * @return service + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to service") + + public Map getService() { + return service; + } + + + public void setService(Map service) { + this.service = service; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation) o; + return Objects.equals(this.deployment, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation.deployment) && + Objects.equals(this.service, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation.service); + } + + @Override + public int hashCode() { + return Objects.hash(deployment, service); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerAnnotation {\n"); + sb.append(" deployment: ").append(toIndentedString(deployment)).append("\n"); + sb.append(" service: ").append(toIndentedString(service)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints.java new file mode 100644 index 0000000..b439edf --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints.java @@ -0,0 +1,415 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints + */ + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure = ExposureEnum.PUBLIC; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol = ProtocolEnum.HTTP; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @ApiModelProperty(required = true, value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv.java new file mode 100644 index 0000000..a3f6e08 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv.java @@ -0,0 +1,126 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv + */ + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @ApiModelProperty(required = true, value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv.name) && + Objects.equals(this.value, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerEnv {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts.java new file mode 100644 index 0000000..5b62db8 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts.java @@ -0,0 +1,128 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Volume that should be mounted to a component container + */ +@ApiModel(description = "Volume that should be mounted to a component container") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts name(String name) { + + this.name = name; + return this; + } + + /** + * The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files. + * @return name + **/ + @ApiModelProperty(required = true, value = "The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts path(String path) { + + this.path = path; + return this; + } + + /** + * The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/<name>`. + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/`.") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts.path); + } + + @Override + public int hashCode() { + return Objects.hash(name, path); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsContainerVolumeMounts {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom.java new file mode 100644 index 0000000..1b36379 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom.java @@ -0,0 +1,127 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Custom component whose logic is implementation-dependant and should be provided by the user possibly through some dedicated controller + */ +@ApiModel(description = "Custom component whose logic is implementation-dependant and should be provided by the user possibly through some dedicated controller") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom { + public static final String SERIALIZED_NAME_COMPONENT_CLASS = "componentClass"; + @SerializedName(SERIALIZED_NAME_COMPONENT_CLASS) + private String componentClass; + + public static final String SERIALIZED_NAME_EMBEDDED_RESOURCE = "embeddedResource"; + @SerializedName(SERIALIZED_NAME_EMBEDDED_RESOURCE) + private Object embeddedResource; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom componentClass(String componentClass) { + + this.componentClass = componentClass; + return this; + } + + /** + * Class of component that the associated implementation controller should use to process this command with the appropriate logic + * @return componentClass + **/ + @ApiModelProperty(required = true, value = "Class of component that the associated implementation controller should use to process this command with the appropriate logic") + + public String getComponentClass() { + return componentClass; + } + + + public void setComponentClass(String componentClass) { + this.componentClass = componentClass; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom embeddedResource(Object embeddedResource) { + + this.embeddedResource = embeddedResource; + return this; + } + + /** + * Additional free-form configuration for this custom component that the implementation controller will know how to use + * @return embeddedResource + **/ + @ApiModelProperty(required = true, value = "Additional free-form configuration for this custom component that the implementation controller will know how to use") + + public Object getEmbeddedResource() { + return embeddedResource; + } + + + public void setEmbeddedResource(Object embeddedResource) { + this.embeddedResource = embeddedResource; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom v1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom) o; + return Objects.equals(this.componentClass, v1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom.componentClass) && + Objects.equals(this.embeddedResource, v1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom.embeddedResource); + } + + @Override + public int hashCode() { + return Objects.hash(componentClass, embeddedResource); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsCustom {\n"); + sb.append(" componentClass: ").append(toIndentedString(componentClass)).append("\n"); + sb.append(" embeddedResource: ").append(toIndentedString(embeddedResource)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage.java new file mode 100644 index 0000000..b5b8ec5 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage.java @@ -0,0 +1,158 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the definition of an image for outer loop builds + */ +@ApiModel(description = "Allows specifying the definition of an image for outer loop builds") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage { + public static final String SERIALIZED_NAME_AUTO_BUILD = "autoBuild"; + @SerializedName(SERIALIZED_NAME_AUTO_BUILD) + private Boolean autoBuild; + + public static final String SERIALIZED_NAME_DOCKERFILE = "dockerfile"; + @SerializedName(SERIALIZED_NAME_DOCKERFILE) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile dockerfile; + + public static final String SERIALIZED_NAME_IMAGE_NAME = "imageName"; + @SerializedName(SERIALIZED_NAME_IMAGE_NAME) + private String imageName; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage autoBuild(Boolean autoBuild) { + + this.autoBuild = autoBuild; + return this; + } + + /** + * Defines if the image should be built during startup. Default value is `false` + * @return autoBuild + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the image should be built during startup. Default value is `false`") + + public Boolean getAutoBuild() { + return autoBuild; + } + + + public void setAutoBuild(Boolean autoBuild) { + this.autoBuild = autoBuild; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage dockerfile(V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile dockerfile) { + + this.dockerfile = dockerfile; + return this; + } + + /** + * Get dockerfile + * @return dockerfile + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile getDockerfile() { + return dockerfile; + } + + + public void setDockerfile(V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile dockerfile) { + this.dockerfile = dockerfile; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage imageName(String imageName) { + + this.imageName = imageName; + return this; + } + + /** + * Name of the image for the resulting outerloop build + * @return imageName + **/ + @ApiModelProperty(required = true, value = "Name of the image for the resulting outerloop build") + + public String getImageName() { + return imageName; + } + + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage v1alpha2DevWorkspaceSpecTemplateComponentsItemsImage = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage) o; + return Objects.equals(this.autoBuild, v1alpha2DevWorkspaceSpecTemplateComponentsItemsImage.autoBuild) && + Objects.equals(this.dockerfile, v1alpha2DevWorkspaceSpecTemplateComponentsItemsImage.dockerfile) && + Objects.equals(this.imageName, v1alpha2DevWorkspaceSpecTemplateComponentsItemsImage.imageName); + } + + @Override + public int hashCode() { + return Objects.hash(autoBuild, dockerfile, imageName); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsImage {\n"); + sb.append(" autoBuild: ").append(toIndentedString(autoBuild)).append("\n"); + sb.append(" dockerfile: ").append(toIndentedString(dockerfile)).append("\n"); + sb.append(" imageName: ").append(toIndentedString(imageName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile.java new file mode 100644 index 0000000..8127db2 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile.java @@ -0,0 +1,257 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows specifying dockerfile type build + */ +@ApiModel(description = "Allows specifying dockerfile type build") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile { + public static final String SERIALIZED_NAME_ARGS = "args"; + @SerializedName(SERIALIZED_NAME_ARGS) + private List args = null; + + public static final String SERIALIZED_NAME_BUILD_CONTEXT = "buildContext"; + @SerializedName(SERIALIZED_NAME_BUILD_CONTEXT) + private String buildContext; + + public static final String SERIALIZED_NAME_DEVFILE_REGISTRY = "devfileRegistry"; + @SerializedName(SERIALIZED_NAME_DEVFILE_REGISTRY) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry devfileRegistry; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit git; + + public static final String SERIALIZED_NAME_ROOT_REQUIRED = "rootRequired"; + @SerializedName(SERIALIZED_NAME_ROOT_REQUIRED) + private Boolean rootRequired; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile args(List args) { + + this.args = args; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile addArgsItem(String argsItem) { + if (this.args == null) { + this.args = new ArrayList<>(); + } + this.args.add(argsItem); + return this; + } + + /** + * The arguments to supply to the dockerfile build. + * @return args + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The arguments to supply to the dockerfile build.") + + public List getArgs() { + return args; + } + + + public void setArgs(List args) { + this.args = args; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile buildContext(String buildContext) { + + this.buildContext = buildContext; + return this; + } + + /** + * Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container + * @return buildContext + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container") + + public String getBuildContext() { + return buildContext; + } + + + public void setBuildContext(String buildContext) { + this.buildContext = buildContext; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile devfileRegistry(V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry devfileRegistry) { + + this.devfileRegistry = devfileRegistry; + return this; + } + + /** + * Get devfileRegistry + * @return devfileRegistry + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry getDevfileRegistry() { + return devfileRegistry; + } + + + public void setDevfileRegistry(V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry devfileRegistry) { + this.devfileRegistry = devfileRegistry; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile git(V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit getGit() { + return git; + } + + + public void setGit(V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit git) { + this.git = git; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile rootRequired(Boolean rootRequired) { + + this.rootRequired = rootRequired; + return this; + } + + /** + * Specify if a privileged builder pod is required. Default value is `false` + * @return rootRequired + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify if a privileged builder pod is required. Default value is `false`") + + public Boolean getRootRequired() { + return rootRequired; + } + + + public void setRootRequired(Boolean rootRequired) { + this.rootRequired = rootRequired; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile v1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile) o; + return Objects.equals(this.args, v1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile.args) && + Objects.equals(this.buildContext, v1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile.buildContext) && + Objects.equals(this.devfileRegistry, v1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile.devfileRegistry) && + Objects.equals(this.git, v1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile.git) && + Objects.equals(this.rootRequired, v1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile.rootRequired) && + Objects.equals(this.uri, v1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile.uri); + } + + @Override + public int hashCode() { + return Objects.hash(args, buildContext, devfileRegistry, git, rootRequired, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfile {\n"); + sb.append(" args: ").append(toIndentedString(args)).append("\n"); + sb.append(" buildContext: ").append(toIndentedString(buildContext)).append("\n"); + sb.append(" devfileRegistry: ").append(toIndentedString(devfileRegistry)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" rootRequired: ").append(toIndentedString(rootRequired)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry.java new file mode 100644 index 0000000..32491dc --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry.java @@ -0,0 +1,128 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Dockerfile's Devfile Registry source + */ +@ApiModel(description = "Dockerfile's Devfile Registry source") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_REGISTRY_URL = "registryUrl"; + @SerializedName(SERIALIZED_NAME_REGISTRY_URL) + private String registryUrl; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry id(String id) { + + this.id = id; + return this; + } + + /** + * Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image. + * @return id + **/ + @ApiModelProperty(required = true, value = "Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry registryUrl(String registryUrl) { + + this.registryUrl = registryUrl; + return this; + } + + /** + * Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used. + * @return registryUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used.") + + public String getRegistryUrl() { + return registryUrl; + } + + + public void setRegistryUrl(String registryUrl) { + this.registryUrl = registryUrl; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry v1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry) o; + return Objects.equals(this.id, v1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry.id) && + Objects.equals(this.registryUrl, v1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry.registryUrl); + } + + @Override + public int hashCode() { + return Objects.hash(id, registryUrl); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileDevfileRegistry {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" registryUrl: ").append(toIndentedString(registryUrl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit.java new file mode 100644 index 0000000..6071ae8 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit.java @@ -0,0 +1,166 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Dockerfile's Git source + */ +@ApiModel(description = "Dockerfile's Git source") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_FILE_LOCATION = "fileLocation"; + @SerializedName(SERIALIZED_NAME_FILE_LOCATION) + private String fileLocation; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = new HashMap<>(); + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit checkoutFrom(V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit fileLocation(String fileLocation) { + + this.fileLocation = fileLocation; + return this; + } + + /** + * Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile. + * @return fileLocation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile.") + + public String getFileLocation() { + return fileLocation; + } + + + public void setFileLocation(String fileLocation) { + this.fileLocation = fileLocation; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit putRemotesItem(String key, String remotesItem) { + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @ApiModelProperty(required = true, value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit v1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit) o; + return Objects.equals(this.checkoutFrom, v1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit.checkoutFrom) && + Objects.equals(this.fileLocation, v1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit.fileLocation) && + Objects.equals(this.remotes, v1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, fileLocation, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" fileLocation: ").append(toIndentedString(fileLocation)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom.java new file mode 100644 index 0000000..c858db7 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom v1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom) o; + return Objects.equals(this.remote, v1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom.remote) && + Objects.equals(this.revision, v1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsImageDockerfileGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes.java new file mode 100644 index 0000000..a4615d4 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production. + */ +@ApiModel(description = "Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production.") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes { + public static final String SERIALIZED_NAME_DEPLOY_BY_DEFAULT = "deployByDefault"; + @SerializedName(SERIALIZED_NAME_DEPLOY_BY_DEFAULT) + private Boolean deployByDefault; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_INLINED = "inlined"; + @SerializedName(SERIALIZED_NAME_INLINED) + private String inlined; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes deployByDefault(Boolean deployByDefault) { + + this.deployByDefault = deployByDefault; + return this; + } + + /** + * Defines if the component should be deployed during startup. Default value is `false` + * @return deployByDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the component should be deployed during startup. Default value is `false`") + + public Boolean getDeployByDefault() { + return deployByDefault; + } + + + public void setDeployByDefault(Boolean deployByDefault) { + this.deployByDefault = deployByDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes addEndpointsItem(V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes inlined(String inlined) { + + this.inlined = inlined; + return this; + } + + /** + * Inlined manifest + * @return inlined + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Inlined manifest") + + public String getInlined() { + return inlined; + } + + + public void setInlined(String inlined) { + this.inlined = inlined; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * Location in a file fetched from a uri. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location in a file fetched from a uri.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes v1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes) o; + return Objects.equals(this.deployByDefault, v1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes.deployByDefault) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes.endpoints) && + Objects.equals(this.inlined, v1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes.inlined) && + Objects.equals(this.uri, v1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes.uri); + } + + @Override + public int hashCode() { + return Objects.hash(deployByDefault, endpoints, inlined, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetes {\n"); + sb.append(" deployByDefault: ").append(toIndentedString(deployByDefault)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" inlined: ").append(toIndentedString(inlined)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints.java new file mode 100644 index 0000000..98c624e --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints.java @@ -0,0 +1,415 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints + */ + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure = ExposureEnum.PUBLIC; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol = ProtocolEnum.HTTP; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @ApiModelProperty(required = true, value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints v1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsKubernetesEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift.java new file mode 100644 index 0000000..92414a6 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production. + */ +@ApiModel(description = "Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production.") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift { + public static final String SERIALIZED_NAME_DEPLOY_BY_DEFAULT = "deployByDefault"; + @SerializedName(SERIALIZED_NAME_DEPLOY_BY_DEFAULT) + private Boolean deployByDefault; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_INLINED = "inlined"; + @SerializedName(SERIALIZED_NAME_INLINED) + private String inlined; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift deployByDefault(Boolean deployByDefault) { + + this.deployByDefault = deployByDefault; + return this; + } + + /** + * Defines if the component should be deployed during startup. Default value is `false` + * @return deployByDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the component should be deployed during startup. Default value is `false`") + + public Boolean getDeployByDefault() { + return deployByDefault; + } + + + public void setDeployByDefault(Boolean deployByDefault) { + this.deployByDefault = deployByDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift addEndpointsItem(V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift inlined(String inlined) { + + this.inlined = inlined; + return this; + } + + /** + * Inlined manifest + * @return inlined + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Inlined manifest") + + public String getInlined() { + return inlined; + } + + + public void setInlined(String inlined) { + this.inlined = inlined; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * Location in a file fetched from a uri. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location in a file fetched from a uri.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift v1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift) o; + return Objects.equals(this.deployByDefault, v1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift.deployByDefault) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift.endpoints) && + Objects.equals(this.inlined, v1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift.inlined) && + Objects.equals(this.uri, v1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift.uri); + } + + @Override + public int hashCode() { + return Objects.hash(deployByDefault, endpoints, inlined, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshift {\n"); + sb.append(" deployByDefault: ").append(toIndentedString(deployByDefault)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" inlined: ").append(toIndentedString(inlined)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints.java new file mode 100644 index 0000000..c39f980 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints.java @@ -0,0 +1,415 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints + */ + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure = ExposureEnum.PUBLIC; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol = ProtocolEnum.HTTP; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @ApiModelProperty(required = true, value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints v1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsOpenshiftEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin.java new file mode 100644 index 0000000..1406bd8 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin.java @@ -0,0 +1,295 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing a plugin. Plugins are mainly imported devfiles that contribute components, commands and events as a consistent single unit. They are defined in either YAML files following the devfile syntax, or as `DevWorkspaceTemplate` Kubernetes Custom Resources + */ +@ApiModel(description = "Allows importing a plugin. Plugins are mainly imported devfiles that contribute components, commands and events as a consistent single unit. They are defined in either YAML files following the devfile syntax, or as `DevWorkspaceTemplate` Kubernetes Custom Resources") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin { + public static final String SERIALIZED_NAME_COMMANDS = "commands"; + @SerializedName(SERIALIZED_NAME_COMMANDS) + private List commands = null; + + public static final String SERIALIZED_NAME_COMPONENTS = "components"; + @SerializedName(SERIALIZED_NAME_COMPONENTS) + private List components = null; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_KUBERNETES = "kubernetes"; + @SerializedName(SERIALIZED_NAME_KUBERNETES) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes kubernetes; + + public static final String SERIALIZED_NAME_REGISTRY_URL = "registryUrl"; + @SerializedName(SERIALIZED_NAME_REGISTRY_URL) + private String registryUrl; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private String version; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin commands(List commands) { + + this.commands = commands; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin addCommandsItem(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands commandsItem) { + if (this.commands == null) { + this.commands = new ArrayList<>(); + } + this.commands.add(commandsItem); + return this; + } + + /** + * Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. + * @return commands + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules.") + + public List getCommands() { + return commands; + } + + + public void setCommands(List commands) { + this.commands = commands; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin components(List components) { + + this.components = components; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin addComponentsItem(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents componentsItem) { + if (this.components == null) { + this.components = new ArrayList<>(); + } + this.components.add(componentsItem); + return this; + } + + /** + * Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. + * @return components + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules.") + + public List getComponents() { + return components; + } + + + public void setComponents(List components) { + this.components = components; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin id(String id) { + + this.id = id; + return this; + } + + /** + * Id in a registry that contains a Devfile yaml file + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Id in a registry that contains a Devfile yaml file") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin kubernetes(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes kubernetes) { + + this.kubernetes = kubernetes; + return this; + } + + /** + * Get kubernetes + * @return kubernetes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes getKubernetes() { + return kubernetes; + } + + + public void setKubernetes(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes kubernetes) { + this.kubernetes = kubernetes; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin registryUrl(String registryUrl) { + + this.registryUrl = registryUrl; + return this; + } + + /** + * Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used. + * @return registryUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used.") + + public String getRegistryUrl() { + return registryUrl; + } + + + public void setRegistryUrl(String registryUrl) { + this.registryUrl = registryUrl; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin version(String version) { + + this.version = version; + return this; + } + + /** + * Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used. + * @return version + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used.") + + public String getVersion() { + return version; + } + + + public void setVersion(String version) { + this.version = version; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin v1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin) o; + return Objects.equals(this.commands, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin.commands) && + Objects.equals(this.components, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin.components) && + Objects.equals(this.id, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin.id) && + Objects.equals(this.kubernetes, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin.kubernetes) && + Objects.equals(this.registryUrl, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin.registryUrl) && + Objects.equals(this.uri, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin.uri) && + Objects.equals(this.version, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin.version); + } + + @Override + public int hashCode() { + return Objects.hash(commands, components, id, kubernetes, registryUrl, uri, version); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPlugin {\n"); + sb.append(" commands: ").append(toIndentedString(commands)).append("\n"); + sb.append(" components: ").append(toIndentedString(components)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" kubernetes: ").append(toIndentedString(kubernetes)).append("\n"); + sb.append(" registryUrl: ").append(toIndentedString(registryUrl)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands.java new file mode 100644 index 0000000..27b9d7a --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands.java @@ -0,0 +1,217 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands + */ + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands { + public static final String SERIALIZED_NAME_APPLY = "apply"; + @SerializedName(SERIALIZED_NAME_APPLY) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply apply; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_COMPOSITE = "composite"; + @SerializedName(SERIALIZED_NAME_COMPOSITE) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite composite; + + public static final String SERIALIZED_NAME_EXEC = "exec"; + @SerializedName(SERIALIZED_NAME_EXEC) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec exec; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands apply(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply apply) { + + this.apply = apply; + return this; + } + + /** + * Get apply + * @return apply + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply getApply() { + return apply; + } + + + public void setApply(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply apply) { + this.apply = apply; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands composite(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite composite) { + + this.composite = composite; + return this; + } + + /** + * Get composite + * @return composite + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite getComposite() { + return composite; + } + + + public void setComposite(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite composite) { + this.composite = composite; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands exec(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec exec) { + + this.exec = exec; + return this; + } + + /** + * Get exec + * @return exec + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec getExec() { + return exec; + } + + + public void setExec(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec exec) { + this.exec = exec; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands id(String id) { + + this.id = id; + return this; + } + + /** + * Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events. + * @return id + **/ + @ApiModelProperty(required = true, value = "Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands) o; + return Objects.equals(this.apply, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands.apply) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands.attributes) && + Objects.equals(this.composite, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands.composite) && + Objects.equals(this.exec, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands.exec) && + Objects.equals(this.id, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands.id); + } + + @Override + public int hashCode() { + return Objects.hash(apply, attributes, composite, exec, id); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommands {\n"); + sb.append(" apply: ").append(toIndentedString(apply)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" composite: ").append(toIndentedString(composite)).append("\n"); + sb.append(" exec: ").append(toIndentedString(exec)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply.java new file mode 100644 index 0000000..7523178 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply.java @@ -0,0 +1,159 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. + */ +@ApiModel(description = "Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false.") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply { + public static final String SERIALIZED_NAME_COMPONENT = "component"; + @SerializedName(SERIALIZED_NAME_COMPONENT) + private String component; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply component(String component) { + + this.component = component; + return this; + } + + /** + * Describes component that will be applied + * @return component + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes component that will be applied") + + public String getComponent() { + return component; + } + + + public void setComponent(String component) { + this.component = component; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply group(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply) o; + return Objects.equals(this.component, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply.component) && + Objects.equals(this.group, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply.group) && + Objects.equals(this.label, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply.label); + } + + @Override + public int hashCode() { + return Objects.hash(component, group, label); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApply {\n"); + sb.append(" component: ").append(toIndentedString(component)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup.java new file mode 100644 index 0000000..b8c68ed --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsApplyGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite.java new file mode 100644 index 0000000..7ad1185 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Composite command that allows executing several sub-commands either sequentially or concurrently + */ +@ApiModel(description = "Composite command that allows executing several sub-commands either sequentially or concurrently") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite { + public static final String SERIALIZED_NAME_COMMANDS = "commands"; + @SerializedName(SERIALIZED_NAME_COMMANDS) + private List commands = null; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + public static final String SERIALIZED_NAME_PARALLEL = "parallel"; + @SerializedName(SERIALIZED_NAME_PARALLEL) + private Boolean parallel; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite commands(List commands) { + + this.commands = commands; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite addCommandsItem(String commandsItem) { + if (this.commands == null) { + this.commands = new ArrayList<>(); + } + this.commands.add(commandsItem); + return this; + } + + /** + * The commands that comprise this composite command + * @return commands + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The commands that comprise this composite command") + + public List getCommands() { + return commands; + } + + + public void setCommands(List commands) { + this.commands = commands; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite group(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite parallel(Boolean parallel) { + + this.parallel = parallel; + return this; + } + + /** + * Indicates if the sub-commands should be executed concurrently + * @return parallel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates if the sub-commands should be executed concurrently") + + public Boolean getParallel() { + return parallel; + } + + + public void setParallel(Boolean parallel) { + this.parallel = parallel; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite) o; + return Objects.equals(this.commands, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite.commands) && + Objects.equals(this.group, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite.group) && + Objects.equals(this.label, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite.label) && + Objects.equals(this.parallel, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite.parallel); + } + + @Override + public int hashCode() { + return Objects.hash(commands, group, label, parallel); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsComposite {\n"); + sb.append(" commands: ").append(toIndentedString(commands)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" parallel: ").append(toIndentedString(parallel)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup.java new file mode 100644 index 0000000..33265a6 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsCompositeGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec.java new file mode 100644 index 0000000..d4b287c --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec.java @@ -0,0 +1,286 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CLI Command executed in an existing component container + */ +@ApiModel(description = "CLI Command executed in an existing component container") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec { + public static final String SERIALIZED_NAME_COMMAND_LINE = "commandLine"; + @SerializedName(SERIALIZED_NAME_COMMAND_LINE) + private String commandLine; + + public static final String SERIALIZED_NAME_COMPONENT = "component"; + @SerializedName(SERIALIZED_NAME_COMPONENT) + private String component; + + public static final String SERIALIZED_NAME_ENV = "env"; + @SerializedName(SERIALIZED_NAME_ENV) + private List env = null; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup group; + + public static final String SERIALIZED_NAME_HOT_RELOAD_CAPABLE = "hotReloadCapable"; + @SerializedName(SERIALIZED_NAME_HOT_RELOAD_CAPABLE) + private Boolean hotReloadCapable; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + public static final String SERIALIZED_NAME_WORKING_DIR = "workingDir"; + @SerializedName(SERIALIZED_NAME_WORKING_DIR) + private String workingDir; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec commandLine(String commandLine) { + + this.commandLine = commandLine; + return this; + } + + /** + * The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. + * @return commandLine + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one.") + + public String getCommandLine() { + return commandLine; + } + + + public void setCommandLine(String commandLine) { + this.commandLine = commandLine; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec component(String component) { + + this.component = component; + return this; + } + + /** + * Describes component to which given action relates + * @return component + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes component to which given action relates") + + public String getComponent() { + return component; + } + + + public void setComponent(String component) { + this.component = component; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec env(List env) { + + this.env = env; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec addEnvItem(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv envItem) { + if (this.env == null) { + this.env = new ArrayList<>(); + } + this.env.add(envItem); + return this; + } + + /** + * Optional list of environment variables that have to be set before running the command + * @return env + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional list of environment variables that have to be set before running the command") + + public List getEnv() { + return env; + } + + + public void setEnv(List env) { + this.env = env; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec group(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec hotReloadCapable(Boolean hotReloadCapable) { + + this.hotReloadCapable = hotReloadCapable; + return this; + } + + /** + * Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false` + * @return hotReloadCapable + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false`") + + public Boolean getHotReloadCapable() { + return hotReloadCapable; + } + + + public void setHotReloadCapable(Boolean hotReloadCapable) { + this.hotReloadCapable = hotReloadCapable; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec workingDir(String workingDir) { + + this.workingDir = workingDir; + return this; + } + + /** + * Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. + * @return workingDir + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one.") + + public String getWorkingDir() { + return workingDir; + } + + + public void setWorkingDir(String workingDir) { + this.workingDir = workingDir; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec) o; + return Objects.equals(this.commandLine, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec.commandLine) && + Objects.equals(this.component, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec.component) && + Objects.equals(this.env, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec.env) && + Objects.equals(this.group, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec.group) && + Objects.equals(this.hotReloadCapable, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec.hotReloadCapable) && + Objects.equals(this.label, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec.label) && + Objects.equals(this.workingDir, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec.workingDir); + } + + @Override + public int hashCode() { + return Objects.hash(commandLine, component, env, group, hotReloadCapable, label, workingDir); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExec {\n"); + sb.append(" commandLine: ").append(toIndentedString(commandLine)).append("\n"); + sb.append(" component: ").append(toIndentedString(component)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" hotReloadCapable: ").append(toIndentedString(hotReloadCapable)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" workingDir: ").append(toIndentedString(workingDir)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv.java new file mode 100644 index 0000000..9867fa5 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv.java @@ -0,0 +1,127 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv + */ + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv.name) && + Objects.equals(this.value, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecEnv {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup.java new file mode 100644 index 0000000..1e99a54 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginCommandsItemsExecGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents.java new file mode 100644 index 0000000..f77f3c6 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents.java @@ -0,0 +1,277 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents + */ + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_CONTAINER = "container"; + @SerializedName(SERIALIZED_NAME_CONTAINER) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer container; + + public static final String SERIALIZED_NAME_IMAGE = "image"; + @SerializedName(SERIALIZED_NAME_IMAGE) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage image; + + public static final String SERIALIZED_NAME_KUBERNETES = "kubernetes"; + @SerializedName(SERIALIZED_NAME_KUBERNETES) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes kubernetes; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OPENSHIFT = "openshift"; + @SerializedName(SERIALIZED_NAME_OPENSHIFT) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift openshift; + + public static final String SERIALIZED_NAME_VOLUME = "volume"; + @SerializedName(SERIALIZED_NAME_VOLUME) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume volume; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents container(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer container) { + + this.container = container; + return this; + } + + /** + * Get container + * @return container + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer getContainer() { + return container; + } + + + public void setContainer(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer container) { + this.container = container; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents image(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage image) { + + this.image = image; + return this; + } + + /** + * Get image + * @return image + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage getImage() { + return image; + } + + + public void setImage(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage image) { + this.image = image; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents kubernetes(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes kubernetes) { + + this.kubernetes = kubernetes; + return this; + } + + /** + * Get kubernetes + * @return kubernetes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes getKubernetes() { + return kubernetes; + } + + + public void setKubernetes(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes kubernetes) { + this.kubernetes = kubernetes; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents name(String name) { + + this.name = name; + return this; + } + + /** + * Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin. + * @return name + **/ + @ApiModelProperty(required = true, value = "Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents openshift(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift openshift) { + + this.openshift = openshift; + return this; + } + + /** + * Get openshift + * @return openshift + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift getOpenshift() { + return openshift; + } + + + public void setOpenshift(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift openshift) { + this.openshift = openshift; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents volume(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume volume) { + + this.volume = volume; + return this; + } + + /** + * Get volume + * @return volume + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume getVolume() { + return volume; + } + + + public void setVolume(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume volume) { + this.volume = volume; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents) o; + return Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents.attributes) && + Objects.equals(this.container, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents.container) && + Objects.equals(this.image, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents.image) && + Objects.equals(this.kubernetes, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents.kubernetes) && + Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents.name) && + Objects.equals(this.openshift, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents.openshift) && + Objects.equals(this.volume, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents.volume); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, container, image, kubernetes, name, openshift, volume); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponents {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" container: ").append(toIndentedString(container)).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" kubernetes: ").append(toIndentedString(kubernetes)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" openshift: ").append(toIndentedString(openshift)).append("\n"); + sb.append(" volume: ").append(toIndentedString(volume)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.java new file mode 100644 index 0000000..d8b2f1a --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.java @@ -0,0 +1,523 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows adding and configuring devworkspace-related containers + */ +@ApiModel(description = "Allows adding and configuring devworkspace-related containers") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation annotation; + + public static final String SERIALIZED_NAME_ARGS = "args"; + @SerializedName(SERIALIZED_NAME_ARGS) + private List args = null; + + public static final String SERIALIZED_NAME_COMMAND = "command"; + @SerializedName(SERIALIZED_NAME_COMMAND) + private List command = null; + + public static final String SERIALIZED_NAME_CPU_LIMIT = "cpuLimit"; + @SerializedName(SERIALIZED_NAME_CPU_LIMIT) + private String cpuLimit; + + public static final String SERIALIZED_NAME_CPU_REQUEST = "cpuRequest"; + @SerializedName(SERIALIZED_NAME_CPU_REQUEST) + private String cpuRequest; + + public static final String SERIALIZED_NAME_DEDICATED_POD = "dedicatedPod"; + @SerializedName(SERIALIZED_NAME_DEDICATED_POD) + private Boolean dedicatedPod; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_ENV = "env"; + @SerializedName(SERIALIZED_NAME_ENV) + private List env = null; + + public static final String SERIALIZED_NAME_IMAGE = "image"; + @SerializedName(SERIALIZED_NAME_IMAGE) + private String image; + + public static final String SERIALIZED_NAME_MEMORY_LIMIT = "memoryLimit"; + @SerializedName(SERIALIZED_NAME_MEMORY_LIMIT) + private String memoryLimit; + + public static final String SERIALIZED_NAME_MEMORY_REQUEST = "memoryRequest"; + @SerializedName(SERIALIZED_NAME_MEMORY_REQUEST) + private String memoryRequest; + + public static final String SERIALIZED_NAME_MOUNT_SOURCES = "mountSources"; + @SerializedName(SERIALIZED_NAME_MOUNT_SOURCES) + private Boolean mountSources; + + public static final String SERIALIZED_NAME_SOURCE_MAPPING = "sourceMapping"; + @SerializedName(SERIALIZED_NAME_SOURCE_MAPPING) + private String sourceMapping; + + public static final String SERIALIZED_NAME_VOLUME_MOUNTS = "volumeMounts"; + @SerializedName(SERIALIZED_NAME_VOLUME_MOUNTS) + private List volumeMounts = null; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer annotation(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation annotation) { + + this.annotation = annotation; + return this; + } + + /** + * Get annotation + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation getAnnotation() { + return annotation; + } + + + public void setAnnotation(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer args(List args) { + + this.args = args; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer addArgsItem(String argsItem) { + if (this.args == null) { + this.args = new ArrayList<>(); + } + this.args.add(argsItem); + return this; + } + + /** + * The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image. + * @return args + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image.") + + public List getArgs() { + return args; + } + + + public void setArgs(List args) { + this.args = args; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer command(List command) { + + this.command = command; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer addCommandItem(String commandItem) { + if (this.command == null) { + this.command = new ArrayList<>(); + } + this.command.add(commandItem); + return this; + } + + /** + * The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image. + * @return command + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image.") + + public List getCommand() { + return command; + } + + + public void setCommand(List command) { + this.command = command; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer cpuLimit(String cpuLimit) { + + this.cpuLimit = cpuLimit; + return this; + } + + /** + * Get cpuLimit + * @return cpuLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCpuLimit() { + return cpuLimit; + } + + + public void setCpuLimit(String cpuLimit) { + this.cpuLimit = cpuLimit; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer cpuRequest(String cpuRequest) { + + this.cpuRequest = cpuRequest; + return this; + } + + /** + * Get cpuRequest + * @return cpuRequest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCpuRequest() { + return cpuRequest; + } + + + public void setCpuRequest(String cpuRequest) { + this.cpuRequest = cpuRequest; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer dedicatedPod(Boolean dedicatedPod) { + + this.dedicatedPod = dedicatedPod; + return this; + } + + /** + * Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false` + * @return dedicatedPod + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false`") + + public Boolean getDedicatedPod() { + return dedicatedPod; + } + + + public void setDedicatedPod(Boolean dedicatedPod) { + this.dedicatedPod = dedicatedPod; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer addEndpointsItem(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer env(List env) { + + this.env = env; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer addEnvItem(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv envItem) { + if (this.env == null) { + this.env = new ArrayList<>(); + } + this.env.add(envItem); + return this; + } + + /** + * Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE` + * @return env + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE`") + + public List getEnv() { + return env; + } + + + public void setEnv(List env) { + this.env = env; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer image(String image) { + + this.image = image; + return this; + } + + /** + * Get image + * @return image + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getImage() { + return image; + } + + + public void setImage(String image) { + this.image = image; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer memoryLimit(String memoryLimit) { + + this.memoryLimit = memoryLimit; + return this; + } + + /** + * Get memoryLimit + * @return memoryLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMemoryLimit() { + return memoryLimit; + } + + + public void setMemoryLimit(String memoryLimit) { + this.memoryLimit = memoryLimit; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer memoryRequest(String memoryRequest) { + + this.memoryRequest = memoryRequest; + return this; + } + + /** + * Get memoryRequest + * @return memoryRequest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMemoryRequest() { + return memoryRequest; + } + + + public void setMemoryRequest(String memoryRequest) { + this.memoryRequest = memoryRequest; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer mountSources(Boolean mountSources) { + + this.mountSources = mountSources; + return this; + } + + /** + * Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. + * @return mountSources + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true.") + + public Boolean getMountSources() { + return mountSources; + } + + + public void setMountSources(Boolean mountSources) { + this.mountSources = mountSources; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer sourceMapping(String sourceMapping) { + + this.sourceMapping = sourceMapping; + return this; + } + + /** + * Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used. + * @return sourceMapping + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used.") + + public String getSourceMapping() { + return sourceMapping; + } + + + public void setSourceMapping(String sourceMapping) { + this.sourceMapping = sourceMapping; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer volumeMounts(List volumeMounts) { + + this.volumeMounts = volumeMounts; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer addVolumeMountsItem(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts volumeMountsItem) { + if (this.volumeMounts == null) { + this.volumeMounts = new ArrayList<>(); + } + this.volumeMounts.add(volumeMountsItem); + return this; + } + + /** + * List of volumes mounts that should be mounted is this container. + * @return volumeMounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of volumes mounts that should be mounted is this container.") + + public List getVolumeMounts() { + return volumeMounts; + } + + + public void setVolumeMounts(List volumeMounts) { + this.volumeMounts = volumeMounts; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.annotation) && + Objects.equals(this.args, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.args) && + Objects.equals(this.command, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.command) && + Objects.equals(this.cpuLimit, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.cpuLimit) && + Objects.equals(this.cpuRequest, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.cpuRequest) && + Objects.equals(this.dedicatedPod, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.dedicatedPod) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.endpoints) && + Objects.equals(this.env, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.env) && + Objects.equals(this.image, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.image) && + Objects.equals(this.memoryLimit, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.memoryLimit) && + Objects.equals(this.memoryRequest, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.memoryRequest) && + Objects.equals(this.mountSources, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.mountSources) && + Objects.equals(this.sourceMapping, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.sourceMapping) && + Objects.equals(this.volumeMounts, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer.volumeMounts); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, args, command, cpuLimit, cpuRequest, dedicatedPod, endpoints, env, image, memoryLimit, memoryRequest, mountSources, sourceMapping, volumeMounts); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainer {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" args: ").append(toIndentedString(args)).append("\n"); + sb.append(" command: ").append(toIndentedString(command)).append("\n"); + sb.append(" cpuLimit: ").append(toIndentedString(cpuLimit)).append("\n"); + sb.append(" cpuRequest: ").append(toIndentedString(cpuRequest)).append("\n"); + sb.append(" dedicatedPod: ").append(toIndentedString(dedicatedPod)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" memoryLimit: ").append(toIndentedString(memoryLimit)).append("\n"); + sb.append(" memoryRequest: ").append(toIndentedString(memoryRequest)).append("\n"); + sb.append(" mountSources: ").append(toIndentedString(mountSources)).append("\n"); + sb.append(" sourceMapping: ").append(toIndentedString(sourceMapping)).append("\n"); + sb.append(" volumeMounts: ").append(toIndentedString(volumeMounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation.java new file mode 100644 index 0000000..852bdc6 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation.java @@ -0,0 +1,148 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Annotations that should be added to specific resources for this container + */ +@ApiModel(description = "Annotations that should be added to specific resources for this container") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation { + public static final String SERIALIZED_NAME_DEPLOYMENT = "deployment"; + @SerializedName(SERIALIZED_NAME_DEPLOYMENT) + private Map deployment = null; + + public static final String SERIALIZED_NAME_SERVICE = "service"; + @SerializedName(SERIALIZED_NAME_SERVICE) + private Map service = null; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation deployment(Map deployment) { + + this.deployment = deployment; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation putDeploymentItem(String key, String deploymentItem) { + if (this.deployment == null) { + this.deployment = new HashMap<>(); + } + this.deployment.put(key, deploymentItem); + return this; + } + + /** + * Annotations to be added to deployment + * @return deployment + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to deployment") + + public Map getDeployment() { + return deployment; + } + + + public void setDeployment(Map deployment) { + this.deployment = deployment; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation service(Map service) { + + this.service = service; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation putServiceItem(String key, String serviceItem) { + if (this.service == null) { + this.service = new HashMap<>(); + } + this.service.put(key, serviceItem); + return this; + } + + /** + * Annotations to be added to service + * @return service + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to service") + + public Map getService() { + return service; + } + + + public void setService(Map service) { + this.service = service; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation) o; + return Objects.equals(this.deployment, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation.deployment) && + Objects.equals(this.service, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation.service); + } + + @Override + public int hashCode() { + return Objects.hash(deployment, service); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerAnnotation {\n"); + sb.append(" deployment: ").append(toIndentedString(deployment)).append("\n"); + sb.append(" service: ").append(toIndentedString(service)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints.java new file mode 100644 index 0000000..77e0764 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints + */ + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv.java new file mode 100644 index 0000000..503c061 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv.java @@ -0,0 +1,127 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv + */ + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv.name) && + Objects.equals(this.value, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerEnv {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts.java new file mode 100644 index 0000000..3d65970 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts.java @@ -0,0 +1,128 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Volume that should be mounted to a component container + */ +@ApiModel(description = "Volume that should be mounted to a component container") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts name(String name) { + + this.name = name; + return this; + } + + /** + * The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files. + * @return name + **/ + @ApiModelProperty(required = true, value = "The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts path(String path) { + + this.path = path; + return this; + } + + /** + * The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/<name>`. + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/`.") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts.path); + } + + @Override + public int hashCode() { + return Objects.hash(name, path); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsContainerVolumeMounts {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage.java new file mode 100644 index 0000000..dffbfc3 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage.java @@ -0,0 +1,159 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the definition of an image for outer loop builds + */ +@ApiModel(description = "Allows specifying the definition of an image for outer loop builds") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage { + public static final String SERIALIZED_NAME_AUTO_BUILD = "autoBuild"; + @SerializedName(SERIALIZED_NAME_AUTO_BUILD) + private Boolean autoBuild; + + public static final String SERIALIZED_NAME_DOCKERFILE = "dockerfile"; + @SerializedName(SERIALIZED_NAME_DOCKERFILE) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile dockerfile; + + public static final String SERIALIZED_NAME_IMAGE_NAME = "imageName"; + @SerializedName(SERIALIZED_NAME_IMAGE_NAME) + private String imageName; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage autoBuild(Boolean autoBuild) { + + this.autoBuild = autoBuild; + return this; + } + + /** + * Defines if the image should be built during startup. Default value is `false` + * @return autoBuild + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the image should be built during startup. Default value is `false`") + + public Boolean getAutoBuild() { + return autoBuild; + } + + + public void setAutoBuild(Boolean autoBuild) { + this.autoBuild = autoBuild; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage dockerfile(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile dockerfile) { + + this.dockerfile = dockerfile; + return this; + } + + /** + * Get dockerfile + * @return dockerfile + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile getDockerfile() { + return dockerfile; + } + + + public void setDockerfile(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile dockerfile) { + this.dockerfile = dockerfile; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage imageName(String imageName) { + + this.imageName = imageName; + return this; + } + + /** + * Name of the image for the resulting outerloop build + * @return imageName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Name of the image for the resulting outerloop build") + + public String getImageName() { + return imageName; + } + + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage) o; + return Objects.equals(this.autoBuild, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage.autoBuild) && + Objects.equals(this.dockerfile, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage.dockerfile) && + Objects.equals(this.imageName, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage.imageName); + } + + @Override + public int hashCode() { + return Objects.hash(autoBuild, dockerfile, imageName); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImage {\n"); + sb.append(" autoBuild: ").append(toIndentedString(autoBuild)).append("\n"); + sb.append(" dockerfile: ").append(toIndentedString(dockerfile)).append("\n"); + sb.append(" imageName: ").append(toIndentedString(imageName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile.java new file mode 100644 index 0000000..5d11400 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile.java @@ -0,0 +1,257 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows specifying dockerfile type build + */ +@ApiModel(description = "Allows specifying dockerfile type build") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile { + public static final String SERIALIZED_NAME_ARGS = "args"; + @SerializedName(SERIALIZED_NAME_ARGS) + private List args = null; + + public static final String SERIALIZED_NAME_BUILD_CONTEXT = "buildContext"; + @SerializedName(SERIALIZED_NAME_BUILD_CONTEXT) + private String buildContext; + + public static final String SERIALIZED_NAME_DEVFILE_REGISTRY = "devfileRegistry"; + @SerializedName(SERIALIZED_NAME_DEVFILE_REGISTRY) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry devfileRegistry; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit git; + + public static final String SERIALIZED_NAME_ROOT_REQUIRED = "rootRequired"; + @SerializedName(SERIALIZED_NAME_ROOT_REQUIRED) + private Boolean rootRequired; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile args(List args) { + + this.args = args; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile addArgsItem(String argsItem) { + if (this.args == null) { + this.args = new ArrayList<>(); + } + this.args.add(argsItem); + return this; + } + + /** + * The arguments to supply to the dockerfile build. + * @return args + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The arguments to supply to the dockerfile build.") + + public List getArgs() { + return args; + } + + + public void setArgs(List args) { + this.args = args; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile buildContext(String buildContext) { + + this.buildContext = buildContext; + return this; + } + + /** + * Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container + * @return buildContext + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container") + + public String getBuildContext() { + return buildContext; + } + + + public void setBuildContext(String buildContext) { + this.buildContext = buildContext; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile devfileRegistry(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry devfileRegistry) { + + this.devfileRegistry = devfileRegistry; + return this; + } + + /** + * Get devfileRegistry + * @return devfileRegistry + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry getDevfileRegistry() { + return devfileRegistry; + } + + + public void setDevfileRegistry(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry devfileRegistry) { + this.devfileRegistry = devfileRegistry; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile git(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit getGit() { + return git; + } + + + public void setGit(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit git) { + this.git = git; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile rootRequired(Boolean rootRequired) { + + this.rootRequired = rootRequired; + return this; + } + + /** + * Specify if a privileged builder pod is required. Default value is `false` + * @return rootRequired + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify if a privileged builder pod is required. Default value is `false`") + + public Boolean getRootRequired() { + return rootRequired; + } + + + public void setRootRequired(Boolean rootRequired) { + this.rootRequired = rootRequired; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile) o; + return Objects.equals(this.args, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile.args) && + Objects.equals(this.buildContext, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile.buildContext) && + Objects.equals(this.devfileRegistry, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile.devfileRegistry) && + Objects.equals(this.git, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile.git) && + Objects.equals(this.rootRequired, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile.rootRequired) && + Objects.equals(this.uri, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile.uri); + } + + @Override + public int hashCode() { + return Objects.hash(args, buildContext, devfileRegistry, git, rootRequired, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfile {\n"); + sb.append(" args: ").append(toIndentedString(args)).append("\n"); + sb.append(" buildContext: ").append(toIndentedString(buildContext)).append("\n"); + sb.append(" devfileRegistry: ").append(toIndentedString(devfileRegistry)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" rootRequired: ").append(toIndentedString(rootRequired)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.java new file mode 100644 index 0000000..bac2a5b --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Dockerfile's Devfile Registry source + */ +@ApiModel(description = "Dockerfile's Devfile Registry source") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_REGISTRY_URL = "registryUrl"; + @SerializedName(SERIALIZED_NAME_REGISTRY_URL) + private String registryUrl; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry id(String id) { + + this.id = id; + return this; + } + + /** + * Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image. + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry registryUrl(String registryUrl) { + + this.registryUrl = registryUrl; + return this; + } + + /** + * Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used. + * @return registryUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used.") + + public String getRegistryUrl() { + return registryUrl; + } + + + public void setRegistryUrl(String registryUrl) { + this.registryUrl = registryUrl; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry) o; + return Objects.equals(this.id, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.id) && + Objects.equals(this.registryUrl, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.registryUrl); + } + + @Override + public int hashCode() { + return Objects.hash(id, registryUrl); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" registryUrl: ").append(toIndentedString(registryUrl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit.java new file mode 100644 index 0000000..1d5156e --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit.java @@ -0,0 +1,170 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Dockerfile's Git source + */ +@ApiModel(description = "Dockerfile's Git source") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_FILE_LOCATION = "fileLocation"; + @SerializedName(SERIALIZED_NAME_FILE_LOCATION) + private String fileLocation; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = null; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit checkoutFrom(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit fileLocation(String fileLocation) { + + this.fileLocation = fileLocation; + return this; + } + + /** + * Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile. + * @return fileLocation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile.") + + public String getFileLocation() { + return fileLocation; + } + + + public void setFileLocation(String fileLocation) { + this.fileLocation = fileLocation; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit putRemotesItem(String key, String remotesItem) { + if (this.remotes == null) { + this.remotes = new HashMap<>(); + } + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit) o; + return Objects.equals(this.checkoutFrom, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit.checkoutFrom) && + Objects.equals(this.fileLocation, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit.fileLocation) && + Objects.equals(this.remotes, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, fileLocation, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" fileLocation: ").append(toIndentedString(fileLocation)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.java new file mode 100644 index 0000000..18561ab --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom) o; + return Objects.equals(this.remote, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.remote) && + Objects.equals(this.revision, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes.java new file mode 100644 index 0000000..6a46ac6 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production. + */ +@ApiModel(description = "Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production.") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes { + public static final String SERIALIZED_NAME_DEPLOY_BY_DEFAULT = "deployByDefault"; + @SerializedName(SERIALIZED_NAME_DEPLOY_BY_DEFAULT) + private Boolean deployByDefault; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_INLINED = "inlined"; + @SerializedName(SERIALIZED_NAME_INLINED) + private String inlined; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes deployByDefault(Boolean deployByDefault) { + + this.deployByDefault = deployByDefault; + return this; + } + + /** + * Defines if the component should be deployed during startup. Default value is `false` + * @return deployByDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the component should be deployed during startup. Default value is `false`") + + public Boolean getDeployByDefault() { + return deployByDefault; + } + + + public void setDeployByDefault(Boolean deployByDefault) { + this.deployByDefault = deployByDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes addEndpointsItem(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes inlined(String inlined) { + + this.inlined = inlined; + return this; + } + + /** + * Inlined manifest + * @return inlined + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Inlined manifest") + + public String getInlined() { + return inlined; + } + + + public void setInlined(String inlined) { + this.inlined = inlined; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * Location in a file fetched from a uri. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location in a file fetched from a uri.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes) o; + return Objects.equals(this.deployByDefault, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes.deployByDefault) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes.endpoints) && + Objects.equals(this.inlined, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes.inlined) && + Objects.equals(this.uri, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes.uri); + } + + @Override + public int hashCode() { + return Objects.hash(deployByDefault, endpoints, inlined, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetes {\n"); + sb.append(" deployByDefault: ").append(toIndentedString(deployByDefault)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" inlined: ").append(toIndentedString(inlined)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints.java new file mode 100644 index 0000000..6127c6a --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints + */ + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsKubernetesEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift.java new file mode 100644 index 0000000..32cac9e --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production. + */ +@ApiModel(description = "Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production.") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift { + public static final String SERIALIZED_NAME_DEPLOY_BY_DEFAULT = "deployByDefault"; + @SerializedName(SERIALIZED_NAME_DEPLOY_BY_DEFAULT) + private Boolean deployByDefault; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_INLINED = "inlined"; + @SerializedName(SERIALIZED_NAME_INLINED) + private String inlined; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift deployByDefault(Boolean deployByDefault) { + + this.deployByDefault = deployByDefault; + return this; + } + + /** + * Defines if the component should be deployed during startup. Default value is `false` + * @return deployByDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the component should be deployed during startup. Default value is `false`") + + public Boolean getDeployByDefault() { + return deployByDefault; + } + + + public void setDeployByDefault(Boolean deployByDefault) { + this.deployByDefault = deployByDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift addEndpointsItem(V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift inlined(String inlined) { + + this.inlined = inlined; + return this; + } + + /** + * Inlined manifest + * @return inlined + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Inlined manifest") + + public String getInlined() { + return inlined; + } + + + public void setInlined(String inlined) { + this.inlined = inlined; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * Location in a file fetched from a uri. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location in a file fetched from a uri.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift) o; + return Objects.equals(this.deployByDefault, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift.deployByDefault) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift.endpoints) && + Objects.equals(this.inlined, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift.inlined) && + Objects.equals(this.uri, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift.uri); + } + + @Override + public int hashCode() { + return Objects.hash(deployByDefault, endpoints, inlined, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshift {\n"); + sb.append(" deployByDefault: ").append(toIndentedString(deployByDefault)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" inlined: ").append(toIndentedString(inlined)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints.java new file mode 100644 index 0000000..62f8843 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints + */ + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsOpenshiftEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume.java new file mode 100644 index 0000000..de01204 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the definition of a volume shared by several other components + */ +@ApiModel(description = "Allows specifying the definition of a volume shared by several other components") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume { + public static final String SERIALIZED_NAME_EPHEMERAL = "ephemeral"; + @SerializedName(SERIALIZED_NAME_EPHEMERAL) + private Boolean ephemeral; + + public static final String SERIALIZED_NAME_SIZE = "size"; + @SerializedName(SERIALIZED_NAME_SIZE) + private String size; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume ephemeral(Boolean ephemeral) { + + this.ephemeral = ephemeral; + return this; + } + + /** + * Ephemeral volumes are not stored persistently across restarts. Defaults to false + * @return ephemeral + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Ephemeral volumes are not stored persistently across restarts. Defaults to false") + + public Boolean getEphemeral() { + return ephemeral; + } + + + public void setEphemeral(Boolean ephemeral) { + this.ephemeral = ephemeral; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume size(String size) { + + this.size = size; + return this; + } + + /** + * Size of the volume + * @return size + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Size of the volume") + + public String getSize() { + return size; + } + + + public void setSize(String size) { + this.size = size; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume) o; + return Objects.equals(this.ephemeral, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume.ephemeral) && + Objects.equals(this.size, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume.size); + } + + @Override + public int hashCode() { + return Objects.hash(ephemeral, size); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginComponentsItemsVolume {\n"); + sb.append(" ephemeral: ").append(toIndentedString(ephemeral)).append("\n"); + sb.append(" size: ").append(toIndentedString(size)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes.java new file mode 100644 index 0000000..1d700e5 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes.java @@ -0,0 +1,128 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Reference to a Kubernetes CRD of type DevWorkspaceTemplate + */ +@ApiModel(description = "Reference to a Kubernetes CRD of type DevWorkspaceTemplate") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_NAMESPACE = "namespace"; + @SerializedName(SERIALIZED_NAME_NAMESPACE) + private String namespace; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes namespace(String namespace) { + + this.namespace = namespace; + return this; + } + + /** + * Get namespace + * @return namespace + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getNamespace() { + return namespace; + } + + + public void setNamespace(String namespace) { + this.namespace = namespace; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes.name) && + Objects.equals(this.namespace, v1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes.namespace); + } + + @Override + public int hashCode() { + return Objects.hash(name, namespace); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsPluginKubernetes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" namespace: ").append(toIndentedString(namespace)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume.java new file mode 100644 index 0000000..fbbbb59 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the definition of a volume shared by several other components + */ +@ApiModel(description = "Allows specifying the definition of a volume shared by several other components") + +public class V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume { + public static final String SERIALIZED_NAME_EPHEMERAL = "ephemeral"; + @SerializedName(SERIALIZED_NAME_EPHEMERAL) + private Boolean ephemeral; + + public static final String SERIALIZED_NAME_SIZE = "size"; + @SerializedName(SERIALIZED_NAME_SIZE) + private String size; + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume ephemeral(Boolean ephemeral) { + + this.ephemeral = ephemeral; + return this; + } + + /** + * Ephemeral volumes are not stored persistently across restarts. Defaults to false + * @return ephemeral + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Ephemeral volumes are not stored persistently across restarts. Defaults to false") + + public Boolean getEphemeral() { + return ephemeral; + } + + + public void setEphemeral(Boolean ephemeral) { + this.ephemeral = ephemeral; + } + + + public V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume size(String size) { + + this.size = size; + return this; + } + + /** + * Size of the volume + * @return size + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Size of the volume") + + public String getSize() { + return size; + } + + + public void setSize(String size) { + this.size = size; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume v1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume = (V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume) o; + return Objects.equals(this.ephemeral, v1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume.ephemeral) && + Objects.equals(this.size, v1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume.size); + } + + @Override + public int hashCode() { + return Objects.hash(ephemeral, size); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateComponentsItemsVolume {\n"); + sb.append(" ephemeral: ").append(toIndentedString(ephemeral)).append("\n"); + sb.append(" size: ").append(toIndentedString(size)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateEvents.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateEvents.java new file mode 100644 index 0000000..d164cbb --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateEvents.java @@ -0,0 +1,221 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Bindings of commands to events. Each command is referred-to by its name. + */ +@ApiModel(description = "Bindings of commands to events. Each command is referred-to by its name.") + +public class V1alpha2DevWorkspaceSpecTemplateEvents { + public static final String SERIALIZED_NAME_POST_START = "postStart"; + @SerializedName(SERIALIZED_NAME_POST_START) + private List postStart = null; + + public static final String SERIALIZED_NAME_POST_STOP = "postStop"; + @SerializedName(SERIALIZED_NAME_POST_STOP) + private List postStop = null; + + public static final String SERIALIZED_NAME_PRE_START = "preStart"; + @SerializedName(SERIALIZED_NAME_PRE_START) + private List preStart = null; + + public static final String SERIALIZED_NAME_PRE_STOP = "preStop"; + @SerializedName(SERIALIZED_NAME_PRE_STOP) + private List preStop = null; + + + public V1alpha2DevWorkspaceSpecTemplateEvents postStart(List postStart) { + + this.postStart = postStart; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateEvents addPostStartItem(String postStartItem) { + if (this.postStart == null) { + this.postStart = new ArrayList<>(); + } + this.postStart.add(postStartItem); + return this; + } + + /** + * IDs of commands that should be executed after the devworkspace is completely started. In the case of Che-Theia, these commands should be executed after all plugins and extensions have started, including project cloning. This means that those commands are not triggered until the user opens the IDE in his browser. + * @return postStart + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "IDs of commands that should be executed after the devworkspace is completely started. In the case of Che-Theia, these commands should be executed after all plugins and extensions have started, including project cloning. This means that those commands are not triggered until the user opens the IDE in his browser.") + + public List getPostStart() { + return postStart; + } + + + public void setPostStart(List postStart) { + this.postStart = postStart; + } + + + public V1alpha2DevWorkspaceSpecTemplateEvents postStop(List postStop) { + + this.postStop = postStop; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateEvents addPostStopItem(String postStopItem) { + if (this.postStop == null) { + this.postStop = new ArrayList<>(); + } + this.postStop.add(postStopItem); + return this; + } + + /** + * IDs of commands that should be executed after stopping the devworkspace. + * @return postStop + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "IDs of commands that should be executed after stopping the devworkspace.") + + public List getPostStop() { + return postStop; + } + + + public void setPostStop(List postStop) { + this.postStop = postStop; + } + + + public V1alpha2DevWorkspaceSpecTemplateEvents preStart(List preStart) { + + this.preStart = preStart; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateEvents addPreStartItem(String preStartItem) { + if (this.preStart == null) { + this.preStart = new ArrayList<>(); + } + this.preStart.add(preStartItem); + return this; + } + + /** + * IDs of commands that should be executed before the devworkspace start. Kubernetes-wise, these commands would typically be executed in init containers of the devworkspace POD. + * @return preStart + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "IDs of commands that should be executed before the devworkspace start. Kubernetes-wise, these commands would typically be executed in init containers of the devworkspace POD.") + + public List getPreStart() { + return preStart; + } + + + public void setPreStart(List preStart) { + this.preStart = preStart; + } + + + public V1alpha2DevWorkspaceSpecTemplateEvents preStop(List preStop) { + + this.preStop = preStop; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateEvents addPreStopItem(String preStopItem) { + if (this.preStop == null) { + this.preStop = new ArrayList<>(); + } + this.preStop.add(preStopItem); + return this; + } + + /** + * IDs of commands that should be executed before stopping the devworkspace. + * @return preStop + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "IDs of commands that should be executed before stopping the devworkspace.") + + public List getPreStop() { + return preStop; + } + + + public void setPreStop(List preStop) { + this.preStop = preStop; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateEvents v1alpha2DevWorkspaceSpecTemplateEvents = (V1alpha2DevWorkspaceSpecTemplateEvents) o; + return Objects.equals(this.postStart, v1alpha2DevWorkspaceSpecTemplateEvents.postStart) && + Objects.equals(this.postStop, v1alpha2DevWorkspaceSpecTemplateEvents.postStop) && + Objects.equals(this.preStart, v1alpha2DevWorkspaceSpecTemplateEvents.preStart) && + Objects.equals(this.preStop, v1alpha2DevWorkspaceSpecTemplateEvents.preStop); + } + + @Override + public int hashCode() { + return Objects.hash(postStart, postStop, preStart, preStop); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateEvents {\n"); + sb.append(" postStart: ").append(toIndentedString(postStart)).append("\n"); + sb.append(" postStop: ").append(toIndentedString(postStop)).append("\n"); + sb.append(" preStart: ").append(toIndentedString(preStart)).append("\n"); + sb.append(" preStop: ").append(toIndentedString(preStop)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParent.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParent.java new file mode 100644 index 0000000..5340897 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParent.java @@ -0,0 +1,439 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentCommands; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponents; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentKubernetes; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentProjects; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentStarterProjects; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Parent devworkspace template + */ +@ApiModel(description = "Parent devworkspace template") + +public class V1alpha2DevWorkspaceSpecTemplateParent { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_COMMANDS = "commands"; + @SerializedName(SERIALIZED_NAME_COMMANDS) + private List commands = null; + + public static final String SERIALIZED_NAME_COMPONENTS = "components"; + @SerializedName(SERIALIZED_NAME_COMPONENTS) + private List components = null; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_KUBERNETES = "kubernetes"; + @SerializedName(SERIALIZED_NAME_KUBERNETES) + private V1alpha2DevWorkspaceSpecTemplateParentKubernetes kubernetes; + + public static final String SERIALIZED_NAME_PROJECTS = "projects"; + @SerializedName(SERIALIZED_NAME_PROJECTS) + private List projects = null; + + public static final String SERIALIZED_NAME_REGISTRY_URL = "registryUrl"; + @SerializedName(SERIALIZED_NAME_REGISTRY_URL) + private String registryUrl; + + public static final String SERIALIZED_NAME_STARTER_PROJECTS = "starterProjects"; + @SerializedName(SERIALIZED_NAME_STARTER_PROJECTS) + private List starterProjects = null; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + public static final String SERIALIZED_NAME_VARIABLES = "variables"; + @SerializedName(SERIALIZED_NAME_VARIABLES) + private Map variables = null; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private String version; + + + public V1alpha2DevWorkspaceSpecTemplateParent attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Overrides of attributes encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of attributes encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateParent commands(List commands) { + + this.commands = commands; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParent addCommandsItem(V1alpha2DevWorkspaceSpecTemplateParentCommands commandsItem) { + if (this.commands == null) { + this.commands = new ArrayList<>(); + } + this.commands.add(commandsItem); + return this; + } + + /** + * Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. + * @return commands + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules.") + + public List getCommands() { + return commands; + } + + + public void setCommands(List commands) { + this.commands = commands; + } + + + public V1alpha2DevWorkspaceSpecTemplateParent components(List components) { + + this.components = components; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParent addComponentsItem(V1alpha2DevWorkspaceSpecTemplateParentComponents componentsItem) { + if (this.components == null) { + this.components = new ArrayList<>(); + } + this.components.add(componentsItem); + return this; + } + + /** + * Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. + * @return components + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules.") + + public List getComponents() { + return components; + } + + + public void setComponents(List components) { + this.components = components; + } + + + public V1alpha2DevWorkspaceSpecTemplateParent id(String id) { + + this.id = id; + return this; + } + + /** + * Id in a registry that contains a Devfile yaml file + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Id in a registry that contains a Devfile yaml file") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public V1alpha2DevWorkspaceSpecTemplateParent kubernetes(V1alpha2DevWorkspaceSpecTemplateParentKubernetes kubernetes) { + + this.kubernetes = kubernetes; + return this; + } + + /** + * Get kubernetes + * @return kubernetes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentKubernetes getKubernetes() { + return kubernetes; + } + + + public void setKubernetes(V1alpha2DevWorkspaceSpecTemplateParentKubernetes kubernetes) { + this.kubernetes = kubernetes; + } + + + public V1alpha2DevWorkspaceSpecTemplateParent projects(List projects) { + + this.projects = projects; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParent addProjectsItem(V1alpha2DevWorkspaceSpecTemplateParentProjects projectsItem) { + if (this.projects == null) { + this.projects = new ArrayList<>(); + } + this.projects.add(projectsItem); + return this; + } + + /** + * Overrides of projects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. + * @return projects + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of projects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules.") + + public List getProjects() { + return projects; + } + + + public void setProjects(List projects) { + this.projects = projects; + } + + + public V1alpha2DevWorkspaceSpecTemplateParent registryUrl(String registryUrl) { + + this.registryUrl = registryUrl; + return this; + } + + /** + * Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used. + * @return registryUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used.") + + public String getRegistryUrl() { + return registryUrl; + } + + + public void setRegistryUrl(String registryUrl) { + this.registryUrl = registryUrl; + } + + + public V1alpha2DevWorkspaceSpecTemplateParent starterProjects(List starterProjects) { + + this.starterProjects = starterProjects; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParent addStarterProjectsItem(V1alpha2DevWorkspaceSpecTemplateParentStarterProjects starterProjectsItem) { + if (this.starterProjects == null) { + this.starterProjects = new ArrayList<>(); + } + this.starterProjects.add(starterProjectsItem); + return this; + } + + /** + * Overrides of starterProjects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. + * @return starterProjects + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of starterProjects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules.") + + public List getStarterProjects() { + return starterProjects; + } + + + public void setStarterProjects(List starterProjects) { + this.starterProjects = starterProjects; + } + + + public V1alpha2DevWorkspaceSpecTemplateParent uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + public V1alpha2DevWorkspaceSpecTemplateParent variables(Map variables) { + + this.variables = variables; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParent putVariablesItem(String key, String variablesItem) { + if (this.variables == null) { + this.variables = new HashMap<>(); + } + this.variables.put(key, variablesItem); + return this; + } + + /** + * Overrides of variables encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. + * @return variables + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of variables encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules.") + + public Map getVariables() { + return variables; + } + + + public void setVariables(Map variables) { + this.variables = variables; + } + + + public V1alpha2DevWorkspaceSpecTemplateParent version(String version) { + + this.version = version; + return this; + } + + /** + * Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used. + * @return version + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used.") + + public String getVersion() { + return version; + } + + + public void setVersion(String version) { + this.version = version; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParent v1alpha2DevWorkspaceSpecTemplateParent = (V1alpha2DevWorkspaceSpecTemplateParent) o; + return Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateParent.attributes) && + Objects.equals(this.commands, v1alpha2DevWorkspaceSpecTemplateParent.commands) && + Objects.equals(this.components, v1alpha2DevWorkspaceSpecTemplateParent.components) && + Objects.equals(this.id, v1alpha2DevWorkspaceSpecTemplateParent.id) && + Objects.equals(this.kubernetes, v1alpha2DevWorkspaceSpecTemplateParent.kubernetes) && + Objects.equals(this.projects, v1alpha2DevWorkspaceSpecTemplateParent.projects) && + Objects.equals(this.registryUrl, v1alpha2DevWorkspaceSpecTemplateParent.registryUrl) && + Objects.equals(this.starterProjects, v1alpha2DevWorkspaceSpecTemplateParent.starterProjects) && + Objects.equals(this.uri, v1alpha2DevWorkspaceSpecTemplateParent.uri) && + Objects.equals(this.variables, v1alpha2DevWorkspaceSpecTemplateParent.variables) && + Objects.equals(this.version, v1alpha2DevWorkspaceSpecTemplateParent.version); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, commands, components, id, kubernetes, projects, registryUrl, starterProjects, uri, variables, version); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParent {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" commands: ").append(toIndentedString(commands)).append("\n"); + sb.append(" components: ").append(toIndentedString(components)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" kubernetes: ").append(toIndentedString(kubernetes)).append("\n"); + sb.append(" projects: ").append(toIndentedString(projects)).append("\n"); + sb.append(" registryUrl: ").append(toIndentedString(registryUrl)).append("\n"); + sb.append(" starterProjects: ").append(toIndentedString(starterProjects)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append(" variables: ").append(toIndentedString(variables)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommands.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommands.java new file mode 100644 index 0000000..3a9efe5 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommands.java @@ -0,0 +1,217 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceSpecTemplateParentCommands + */ + +public class V1alpha2DevWorkspaceSpecTemplateParentCommands { + public static final String SERIALIZED_NAME_APPLY = "apply"; + @SerializedName(SERIALIZED_NAME_APPLY) + private V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply apply; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_COMPOSITE = "composite"; + @SerializedName(SERIALIZED_NAME_COMPOSITE) + private V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite composite; + + public static final String SERIALIZED_NAME_EXEC = "exec"; + @SerializedName(SERIALIZED_NAME_EXEC) + private V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec exec; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + + public V1alpha2DevWorkspaceSpecTemplateParentCommands apply(V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply apply) { + + this.apply = apply; + return this; + } + + /** + * Get apply + * @return apply + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply getApply() { + return apply; + } + + + public void setApply(V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply apply) { + this.apply = apply; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentCommands attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentCommands composite(V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite composite) { + + this.composite = composite; + return this; + } + + /** + * Get composite + * @return composite + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite getComposite() { + return composite; + } + + + public void setComposite(V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite composite) { + this.composite = composite; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentCommands exec(V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec exec) { + + this.exec = exec; + return this; + } + + /** + * Get exec + * @return exec + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec getExec() { + return exec; + } + + + public void setExec(V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec exec) { + this.exec = exec; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentCommands id(String id) { + + this.id = id; + return this; + } + + /** + * Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events. + * @return id + **/ + @ApiModelProperty(required = true, value = "Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentCommands v1alpha2DevWorkspaceSpecTemplateParentCommands = (V1alpha2DevWorkspaceSpecTemplateParentCommands) o; + return Objects.equals(this.apply, v1alpha2DevWorkspaceSpecTemplateParentCommands.apply) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateParentCommands.attributes) && + Objects.equals(this.composite, v1alpha2DevWorkspaceSpecTemplateParentCommands.composite) && + Objects.equals(this.exec, v1alpha2DevWorkspaceSpecTemplateParentCommands.exec) && + Objects.equals(this.id, v1alpha2DevWorkspaceSpecTemplateParentCommands.id); + } + + @Override + public int hashCode() { + return Objects.hash(apply, attributes, composite, exec, id); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentCommands {\n"); + sb.append(" apply: ").append(toIndentedString(apply)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" composite: ").append(toIndentedString(composite)).append("\n"); + sb.append(" exec: ").append(toIndentedString(exec)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply.java new file mode 100644 index 0000000..38a8d89 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply.java @@ -0,0 +1,159 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. + */ +@ApiModel(description = "Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false.") + +public class V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply { + public static final String SERIALIZED_NAME_COMPONENT = "component"; + @SerializedName(SERIALIZED_NAME_COMPONENT) + private String component; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply component(String component) { + + this.component = component; + return this; + } + + /** + * Describes component that will be applied + * @return component + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes component that will be applied") + + public String getComponent() { + return component; + } + + + public void setComponent(String component) { + this.component = component; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply group(V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply = (V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply) o; + return Objects.equals(this.component, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply.component) && + Objects.equals(this.group, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply.group) && + Objects.equals(this.label, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply.label); + } + + @Override + public int hashCode() { + return Objects.hash(component, group, label); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApply {\n"); + sb.append(" component: ").append(toIndentedString(component)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup.java new file mode 100644 index 0000000..98595fb --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup = (V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsApplyGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite.java new file mode 100644 index 0000000..8ae454d --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Composite command that allows executing several sub-commands either sequentially or concurrently + */ +@ApiModel(description = "Composite command that allows executing several sub-commands either sequentially or concurrently") + +public class V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite { + public static final String SERIALIZED_NAME_COMMANDS = "commands"; + @SerializedName(SERIALIZED_NAME_COMMANDS) + private List commands = null; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + public static final String SERIALIZED_NAME_PARALLEL = "parallel"; + @SerializedName(SERIALIZED_NAME_PARALLEL) + private Boolean parallel; + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite commands(List commands) { + + this.commands = commands; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite addCommandsItem(String commandsItem) { + if (this.commands == null) { + this.commands = new ArrayList<>(); + } + this.commands.add(commandsItem); + return this; + } + + /** + * The commands that comprise this composite command + * @return commands + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The commands that comprise this composite command") + + public List getCommands() { + return commands; + } + + + public void setCommands(List commands) { + this.commands = commands; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite group(V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite parallel(Boolean parallel) { + + this.parallel = parallel; + return this; + } + + /** + * Indicates if the sub-commands should be executed concurrently + * @return parallel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates if the sub-commands should be executed concurrently") + + public Boolean getParallel() { + return parallel; + } + + + public void setParallel(Boolean parallel) { + this.parallel = parallel; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite = (V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite) o; + return Objects.equals(this.commands, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite.commands) && + Objects.equals(this.group, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite.group) && + Objects.equals(this.label, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite.label) && + Objects.equals(this.parallel, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite.parallel); + } + + @Override + public int hashCode() { + return Objects.hash(commands, group, label, parallel); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsComposite {\n"); + sb.append(" commands: ").append(toIndentedString(commands)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" parallel: ").append(toIndentedString(parallel)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup.java new file mode 100644 index 0000000..65a66db --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup = (V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsCompositeGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec.java new file mode 100644 index 0000000..028b95c --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec.java @@ -0,0 +1,286 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CLI Command executed in an existing component container + */ +@ApiModel(description = "CLI Command executed in an existing component container") + +public class V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec { + public static final String SERIALIZED_NAME_COMMAND_LINE = "commandLine"; + @SerializedName(SERIALIZED_NAME_COMMAND_LINE) + private String commandLine; + + public static final String SERIALIZED_NAME_COMPONENT = "component"; + @SerializedName(SERIALIZED_NAME_COMPONENT) + private String component; + + public static final String SERIALIZED_NAME_ENV = "env"; + @SerializedName(SERIALIZED_NAME_ENV) + private List env = null; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup group; + + public static final String SERIALIZED_NAME_HOT_RELOAD_CAPABLE = "hotReloadCapable"; + @SerializedName(SERIALIZED_NAME_HOT_RELOAD_CAPABLE) + private Boolean hotReloadCapable; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + public static final String SERIALIZED_NAME_WORKING_DIR = "workingDir"; + @SerializedName(SERIALIZED_NAME_WORKING_DIR) + private String workingDir; + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec commandLine(String commandLine) { + + this.commandLine = commandLine; + return this; + } + + /** + * The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. + * @return commandLine + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one.") + + public String getCommandLine() { + return commandLine; + } + + + public void setCommandLine(String commandLine) { + this.commandLine = commandLine; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec component(String component) { + + this.component = component; + return this; + } + + /** + * Describes component to which given action relates + * @return component + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes component to which given action relates") + + public String getComponent() { + return component; + } + + + public void setComponent(String component) { + this.component = component; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec env(List env) { + + this.env = env; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec addEnvItem(V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv envItem) { + if (this.env == null) { + this.env = new ArrayList<>(); + } + this.env.add(envItem); + return this; + } + + /** + * Optional list of environment variables that have to be set before running the command + * @return env + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional list of environment variables that have to be set before running the command") + + public List getEnv() { + return env; + } + + + public void setEnv(List env) { + this.env = env; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec group(V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec hotReloadCapable(Boolean hotReloadCapable) { + + this.hotReloadCapable = hotReloadCapable; + return this; + } + + /** + * Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false` + * @return hotReloadCapable + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false`") + + public Boolean getHotReloadCapable() { + return hotReloadCapable; + } + + + public void setHotReloadCapable(Boolean hotReloadCapable) { + this.hotReloadCapable = hotReloadCapable; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec workingDir(String workingDir) { + + this.workingDir = workingDir; + return this; + } + + /** + * Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. + * @return workingDir + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one.") + + public String getWorkingDir() { + return workingDir; + } + + + public void setWorkingDir(String workingDir) { + this.workingDir = workingDir; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec = (V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec) o; + return Objects.equals(this.commandLine, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec.commandLine) && + Objects.equals(this.component, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec.component) && + Objects.equals(this.env, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec.env) && + Objects.equals(this.group, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec.group) && + Objects.equals(this.hotReloadCapable, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec.hotReloadCapable) && + Objects.equals(this.label, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec.label) && + Objects.equals(this.workingDir, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec.workingDir); + } + + @Override + public int hashCode() { + return Objects.hash(commandLine, component, env, group, hotReloadCapable, label, workingDir); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExec {\n"); + sb.append(" commandLine: ").append(toIndentedString(commandLine)).append("\n"); + sb.append(" component: ").append(toIndentedString(component)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" hotReloadCapable: ").append(toIndentedString(hotReloadCapable)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" workingDir: ").append(toIndentedString(workingDir)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv.java new file mode 100644 index 0000000..3040844 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv.java @@ -0,0 +1,127 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv + */ + +public class V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv = (V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv.name) && + Objects.equals(this.value, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecEnv {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup.java new file mode 100644 index 0000000..aa2628c --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup = (V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentCommandsItemsExecGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponents.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponents.java new file mode 100644 index 0000000..bc02f46 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponents.java @@ -0,0 +1,307 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceSpecTemplateParentComponents + */ + +public class V1alpha2DevWorkspaceSpecTemplateParentComponents { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_CONTAINER = "container"; + @SerializedName(SERIALIZED_NAME_CONTAINER) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer container; + + public static final String SERIALIZED_NAME_IMAGE = "image"; + @SerializedName(SERIALIZED_NAME_IMAGE) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage image; + + public static final String SERIALIZED_NAME_KUBERNETES = "kubernetes"; + @SerializedName(SERIALIZED_NAME_KUBERNETES) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes kubernetes; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OPENSHIFT = "openshift"; + @SerializedName(SERIALIZED_NAME_OPENSHIFT) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift openshift; + + public static final String SERIALIZED_NAME_PLUGIN = "plugin"; + @SerializedName(SERIALIZED_NAME_PLUGIN) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin plugin; + + public static final String SERIALIZED_NAME_VOLUME = "volume"; + @SerializedName(SERIALIZED_NAME_VOLUME) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume volume; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponents attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponents container(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer container) { + + this.container = container; + return this; + } + + /** + * Get container + * @return container + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer getContainer() { + return container; + } + + + public void setContainer(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer container) { + this.container = container; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponents image(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage image) { + + this.image = image; + return this; + } + + /** + * Get image + * @return image + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage getImage() { + return image; + } + + + public void setImage(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage image) { + this.image = image; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponents kubernetes(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes kubernetes) { + + this.kubernetes = kubernetes; + return this; + } + + /** + * Get kubernetes + * @return kubernetes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes getKubernetes() { + return kubernetes; + } + + + public void setKubernetes(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes kubernetes) { + this.kubernetes = kubernetes; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponents name(String name) { + + this.name = name; + return this; + } + + /** + * Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin. + * @return name + **/ + @ApiModelProperty(required = true, value = "Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponents openshift(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift openshift) { + + this.openshift = openshift; + return this; + } + + /** + * Get openshift + * @return openshift + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift getOpenshift() { + return openshift; + } + + + public void setOpenshift(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift openshift) { + this.openshift = openshift; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponents plugin(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin plugin) { + + this.plugin = plugin; + return this; + } + + /** + * Get plugin + * @return plugin + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin getPlugin() { + return plugin; + } + + + public void setPlugin(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin plugin) { + this.plugin = plugin; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponents volume(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume volume) { + + this.volume = volume; + return this; + } + + /** + * Get volume + * @return volume + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume getVolume() { + return volume; + } + + + public void setVolume(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume volume) { + this.volume = volume; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponents v1alpha2DevWorkspaceSpecTemplateParentComponents = (V1alpha2DevWorkspaceSpecTemplateParentComponents) o; + return Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateParentComponents.attributes) && + Objects.equals(this.container, v1alpha2DevWorkspaceSpecTemplateParentComponents.container) && + Objects.equals(this.image, v1alpha2DevWorkspaceSpecTemplateParentComponents.image) && + Objects.equals(this.kubernetes, v1alpha2DevWorkspaceSpecTemplateParentComponents.kubernetes) && + Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateParentComponents.name) && + Objects.equals(this.openshift, v1alpha2DevWorkspaceSpecTemplateParentComponents.openshift) && + Objects.equals(this.plugin, v1alpha2DevWorkspaceSpecTemplateParentComponents.plugin) && + Objects.equals(this.volume, v1alpha2DevWorkspaceSpecTemplateParentComponents.volume); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, container, image, kubernetes, name, openshift, plugin, volume); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponents {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" container: ").append(toIndentedString(container)).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" kubernetes: ").append(toIndentedString(kubernetes)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" openshift: ").append(toIndentedString(openshift)).append("\n"); + sb.append(" plugin: ").append(toIndentedString(plugin)).append("\n"); + sb.append(" volume: ").append(toIndentedString(volume)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.java new file mode 100644 index 0000000..b969ce2 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.java @@ -0,0 +1,523 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows adding and configuring devworkspace-related containers + */ +@ApiModel(description = "Allows adding and configuring devworkspace-related containers") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation annotation; + + public static final String SERIALIZED_NAME_ARGS = "args"; + @SerializedName(SERIALIZED_NAME_ARGS) + private List args = null; + + public static final String SERIALIZED_NAME_COMMAND = "command"; + @SerializedName(SERIALIZED_NAME_COMMAND) + private List command = null; + + public static final String SERIALIZED_NAME_CPU_LIMIT = "cpuLimit"; + @SerializedName(SERIALIZED_NAME_CPU_LIMIT) + private String cpuLimit; + + public static final String SERIALIZED_NAME_CPU_REQUEST = "cpuRequest"; + @SerializedName(SERIALIZED_NAME_CPU_REQUEST) + private String cpuRequest; + + public static final String SERIALIZED_NAME_DEDICATED_POD = "dedicatedPod"; + @SerializedName(SERIALIZED_NAME_DEDICATED_POD) + private Boolean dedicatedPod; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_ENV = "env"; + @SerializedName(SERIALIZED_NAME_ENV) + private List env = null; + + public static final String SERIALIZED_NAME_IMAGE = "image"; + @SerializedName(SERIALIZED_NAME_IMAGE) + private String image; + + public static final String SERIALIZED_NAME_MEMORY_LIMIT = "memoryLimit"; + @SerializedName(SERIALIZED_NAME_MEMORY_LIMIT) + private String memoryLimit; + + public static final String SERIALIZED_NAME_MEMORY_REQUEST = "memoryRequest"; + @SerializedName(SERIALIZED_NAME_MEMORY_REQUEST) + private String memoryRequest; + + public static final String SERIALIZED_NAME_MOUNT_SOURCES = "mountSources"; + @SerializedName(SERIALIZED_NAME_MOUNT_SOURCES) + private Boolean mountSources; + + public static final String SERIALIZED_NAME_SOURCE_MAPPING = "sourceMapping"; + @SerializedName(SERIALIZED_NAME_SOURCE_MAPPING) + private String sourceMapping; + + public static final String SERIALIZED_NAME_VOLUME_MOUNTS = "volumeMounts"; + @SerializedName(SERIALIZED_NAME_VOLUME_MOUNTS) + private List volumeMounts = null; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer annotation(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation annotation) { + + this.annotation = annotation; + return this; + } + + /** + * Get annotation + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation getAnnotation() { + return annotation; + } + + + public void setAnnotation(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer args(List args) { + + this.args = args; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer addArgsItem(String argsItem) { + if (this.args == null) { + this.args = new ArrayList<>(); + } + this.args.add(argsItem); + return this; + } + + /** + * The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image. + * @return args + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image.") + + public List getArgs() { + return args; + } + + + public void setArgs(List args) { + this.args = args; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer command(List command) { + + this.command = command; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer addCommandItem(String commandItem) { + if (this.command == null) { + this.command = new ArrayList<>(); + } + this.command.add(commandItem); + return this; + } + + /** + * The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image. + * @return command + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image.") + + public List getCommand() { + return command; + } + + + public void setCommand(List command) { + this.command = command; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer cpuLimit(String cpuLimit) { + + this.cpuLimit = cpuLimit; + return this; + } + + /** + * Get cpuLimit + * @return cpuLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCpuLimit() { + return cpuLimit; + } + + + public void setCpuLimit(String cpuLimit) { + this.cpuLimit = cpuLimit; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer cpuRequest(String cpuRequest) { + + this.cpuRequest = cpuRequest; + return this; + } + + /** + * Get cpuRequest + * @return cpuRequest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCpuRequest() { + return cpuRequest; + } + + + public void setCpuRequest(String cpuRequest) { + this.cpuRequest = cpuRequest; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer dedicatedPod(Boolean dedicatedPod) { + + this.dedicatedPod = dedicatedPod; + return this; + } + + /** + * Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false` + * @return dedicatedPod + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false`") + + public Boolean getDedicatedPod() { + return dedicatedPod; + } + + + public void setDedicatedPod(Boolean dedicatedPod) { + this.dedicatedPod = dedicatedPod; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer addEndpointsItem(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer env(List env) { + + this.env = env; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer addEnvItem(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv envItem) { + if (this.env == null) { + this.env = new ArrayList<>(); + } + this.env.add(envItem); + return this; + } + + /** + * Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE` + * @return env + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE`") + + public List getEnv() { + return env; + } + + + public void setEnv(List env) { + this.env = env; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer image(String image) { + + this.image = image; + return this; + } + + /** + * Get image + * @return image + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getImage() { + return image; + } + + + public void setImage(String image) { + this.image = image; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer memoryLimit(String memoryLimit) { + + this.memoryLimit = memoryLimit; + return this; + } + + /** + * Get memoryLimit + * @return memoryLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMemoryLimit() { + return memoryLimit; + } + + + public void setMemoryLimit(String memoryLimit) { + this.memoryLimit = memoryLimit; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer memoryRequest(String memoryRequest) { + + this.memoryRequest = memoryRequest; + return this; + } + + /** + * Get memoryRequest + * @return memoryRequest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMemoryRequest() { + return memoryRequest; + } + + + public void setMemoryRequest(String memoryRequest) { + this.memoryRequest = memoryRequest; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer mountSources(Boolean mountSources) { + + this.mountSources = mountSources; + return this; + } + + /** + * Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. + * @return mountSources + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true.") + + public Boolean getMountSources() { + return mountSources; + } + + + public void setMountSources(Boolean mountSources) { + this.mountSources = mountSources; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer sourceMapping(String sourceMapping) { + + this.sourceMapping = sourceMapping; + return this; + } + + /** + * Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used. + * @return sourceMapping + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used.") + + public String getSourceMapping() { + return sourceMapping; + } + + + public void setSourceMapping(String sourceMapping) { + this.sourceMapping = sourceMapping; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer volumeMounts(List volumeMounts) { + + this.volumeMounts = volumeMounts; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer addVolumeMountsItem(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts volumeMountsItem) { + if (this.volumeMounts == null) { + this.volumeMounts = new ArrayList<>(); + } + this.volumeMounts.add(volumeMountsItem); + return this; + } + + /** + * List of volumes mounts that should be mounted is this container. + * @return volumeMounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of volumes mounts that should be mounted is this container.") + + public List getVolumeMounts() { + return volumeMounts; + } + + + public void setVolumeMounts(List volumeMounts) { + this.volumeMounts = volumeMounts; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.annotation) && + Objects.equals(this.args, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.args) && + Objects.equals(this.command, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.command) && + Objects.equals(this.cpuLimit, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.cpuLimit) && + Objects.equals(this.cpuRequest, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.cpuRequest) && + Objects.equals(this.dedicatedPod, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.dedicatedPod) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.endpoints) && + Objects.equals(this.env, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.env) && + Objects.equals(this.image, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.image) && + Objects.equals(this.memoryLimit, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.memoryLimit) && + Objects.equals(this.memoryRequest, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.memoryRequest) && + Objects.equals(this.mountSources, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.mountSources) && + Objects.equals(this.sourceMapping, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.sourceMapping) && + Objects.equals(this.volumeMounts, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer.volumeMounts); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, args, command, cpuLimit, cpuRequest, dedicatedPod, endpoints, env, image, memoryLimit, memoryRequest, mountSources, sourceMapping, volumeMounts); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainer {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" args: ").append(toIndentedString(args)).append("\n"); + sb.append(" command: ").append(toIndentedString(command)).append("\n"); + sb.append(" cpuLimit: ").append(toIndentedString(cpuLimit)).append("\n"); + sb.append(" cpuRequest: ").append(toIndentedString(cpuRequest)).append("\n"); + sb.append(" dedicatedPod: ").append(toIndentedString(dedicatedPod)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" memoryLimit: ").append(toIndentedString(memoryLimit)).append("\n"); + sb.append(" memoryRequest: ").append(toIndentedString(memoryRequest)).append("\n"); + sb.append(" mountSources: ").append(toIndentedString(mountSources)).append("\n"); + sb.append(" sourceMapping: ").append(toIndentedString(sourceMapping)).append("\n"); + sb.append(" volumeMounts: ").append(toIndentedString(volumeMounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation.java new file mode 100644 index 0000000..62495dd --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation.java @@ -0,0 +1,148 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Annotations that should be added to specific resources for this container + */ +@ApiModel(description = "Annotations that should be added to specific resources for this container") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation { + public static final String SERIALIZED_NAME_DEPLOYMENT = "deployment"; + @SerializedName(SERIALIZED_NAME_DEPLOYMENT) + private Map deployment = null; + + public static final String SERIALIZED_NAME_SERVICE = "service"; + @SerializedName(SERIALIZED_NAME_SERVICE) + private Map service = null; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation deployment(Map deployment) { + + this.deployment = deployment; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation putDeploymentItem(String key, String deploymentItem) { + if (this.deployment == null) { + this.deployment = new HashMap<>(); + } + this.deployment.put(key, deploymentItem); + return this; + } + + /** + * Annotations to be added to deployment + * @return deployment + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to deployment") + + public Map getDeployment() { + return deployment; + } + + + public void setDeployment(Map deployment) { + this.deployment = deployment; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation service(Map service) { + + this.service = service; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation putServiceItem(String key, String serviceItem) { + if (this.service == null) { + this.service = new HashMap<>(); + } + this.service.put(key, serviceItem); + return this; + } + + /** + * Annotations to be added to service + * @return service + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to service") + + public Map getService() { + return service; + } + + + public void setService(Map service) { + this.service = service; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation) o; + return Objects.equals(this.deployment, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation.deployment) && + Objects.equals(this.service, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation.service); + } + + @Override + public int hashCode() { + return Objects.hash(deployment, service); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerAnnotation {\n"); + sb.append(" deployment: ").append(toIndentedString(deployment)).append("\n"); + sb.append(" service: ").append(toIndentedString(service)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints.java new file mode 100644 index 0000000..9de4623 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints + */ + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv.java new file mode 100644 index 0000000..1fd7a69 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv.java @@ -0,0 +1,127 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv + */ + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv.name) && + Objects.equals(this.value, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerEnv {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts.java new file mode 100644 index 0000000..f57bfa3 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts.java @@ -0,0 +1,128 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Volume that should be mounted to a component container + */ +@ApiModel(description = "Volume that should be mounted to a component container") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts name(String name) { + + this.name = name; + return this; + } + + /** + * The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files. + * @return name + **/ + @ApiModelProperty(required = true, value = "The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts path(String path) { + + this.path = path; + return this; + } + + /** + * The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/<name>`. + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/`.") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts.path); + } + + @Override + public int hashCode() { + return Objects.hash(name, path); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsContainerVolumeMounts {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage.java new file mode 100644 index 0000000..1b40414 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage.java @@ -0,0 +1,159 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the definition of an image for outer loop builds + */ +@ApiModel(description = "Allows specifying the definition of an image for outer loop builds") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage { + public static final String SERIALIZED_NAME_AUTO_BUILD = "autoBuild"; + @SerializedName(SERIALIZED_NAME_AUTO_BUILD) + private Boolean autoBuild; + + public static final String SERIALIZED_NAME_DOCKERFILE = "dockerfile"; + @SerializedName(SERIALIZED_NAME_DOCKERFILE) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile dockerfile; + + public static final String SERIALIZED_NAME_IMAGE_NAME = "imageName"; + @SerializedName(SERIALIZED_NAME_IMAGE_NAME) + private String imageName; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage autoBuild(Boolean autoBuild) { + + this.autoBuild = autoBuild; + return this; + } + + /** + * Defines if the image should be built during startup. Default value is `false` + * @return autoBuild + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the image should be built during startup. Default value is `false`") + + public Boolean getAutoBuild() { + return autoBuild; + } + + + public void setAutoBuild(Boolean autoBuild) { + this.autoBuild = autoBuild; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage dockerfile(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile dockerfile) { + + this.dockerfile = dockerfile; + return this; + } + + /** + * Get dockerfile + * @return dockerfile + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile getDockerfile() { + return dockerfile; + } + + + public void setDockerfile(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile dockerfile) { + this.dockerfile = dockerfile; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage imageName(String imageName) { + + this.imageName = imageName; + return this; + } + + /** + * Name of the image for the resulting outerloop build + * @return imageName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Name of the image for the resulting outerloop build") + + public String getImageName() { + return imageName; + } + + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage) o; + return Objects.equals(this.autoBuild, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage.autoBuild) && + Objects.equals(this.dockerfile, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage.dockerfile) && + Objects.equals(this.imageName, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage.imageName); + } + + @Override + public int hashCode() { + return Objects.hash(autoBuild, dockerfile, imageName); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImage {\n"); + sb.append(" autoBuild: ").append(toIndentedString(autoBuild)).append("\n"); + sb.append(" dockerfile: ").append(toIndentedString(dockerfile)).append("\n"); + sb.append(" imageName: ").append(toIndentedString(imageName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile.java new file mode 100644 index 0000000..1881078 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile.java @@ -0,0 +1,257 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows specifying dockerfile type build + */ +@ApiModel(description = "Allows specifying dockerfile type build") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile { + public static final String SERIALIZED_NAME_ARGS = "args"; + @SerializedName(SERIALIZED_NAME_ARGS) + private List args = null; + + public static final String SERIALIZED_NAME_BUILD_CONTEXT = "buildContext"; + @SerializedName(SERIALIZED_NAME_BUILD_CONTEXT) + private String buildContext; + + public static final String SERIALIZED_NAME_DEVFILE_REGISTRY = "devfileRegistry"; + @SerializedName(SERIALIZED_NAME_DEVFILE_REGISTRY) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry devfileRegistry; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit git; + + public static final String SERIALIZED_NAME_ROOT_REQUIRED = "rootRequired"; + @SerializedName(SERIALIZED_NAME_ROOT_REQUIRED) + private Boolean rootRequired; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile args(List args) { + + this.args = args; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile addArgsItem(String argsItem) { + if (this.args == null) { + this.args = new ArrayList<>(); + } + this.args.add(argsItem); + return this; + } + + /** + * The arguments to supply to the dockerfile build. + * @return args + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The arguments to supply to the dockerfile build.") + + public List getArgs() { + return args; + } + + + public void setArgs(List args) { + this.args = args; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile buildContext(String buildContext) { + + this.buildContext = buildContext; + return this; + } + + /** + * Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container + * @return buildContext + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container") + + public String getBuildContext() { + return buildContext; + } + + + public void setBuildContext(String buildContext) { + this.buildContext = buildContext; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile devfileRegistry(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry devfileRegistry) { + + this.devfileRegistry = devfileRegistry; + return this; + } + + /** + * Get devfileRegistry + * @return devfileRegistry + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry getDevfileRegistry() { + return devfileRegistry; + } + + + public void setDevfileRegistry(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry devfileRegistry) { + this.devfileRegistry = devfileRegistry; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile git(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit getGit() { + return git; + } + + + public void setGit(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit git) { + this.git = git; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile rootRequired(Boolean rootRequired) { + + this.rootRequired = rootRequired; + return this; + } + + /** + * Specify if a privileged builder pod is required. Default value is `false` + * @return rootRequired + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify if a privileged builder pod is required. Default value is `false`") + + public Boolean getRootRequired() { + return rootRequired; + } + + + public void setRootRequired(Boolean rootRequired) { + this.rootRequired = rootRequired; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile) o; + return Objects.equals(this.args, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile.args) && + Objects.equals(this.buildContext, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile.buildContext) && + Objects.equals(this.devfileRegistry, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile.devfileRegistry) && + Objects.equals(this.git, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile.git) && + Objects.equals(this.rootRequired, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile.rootRequired) && + Objects.equals(this.uri, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile.uri); + } + + @Override + public int hashCode() { + return Objects.hash(args, buildContext, devfileRegistry, git, rootRequired, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfile {\n"); + sb.append(" args: ").append(toIndentedString(args)).append("\n"); + sb.append(" buildContext: ").append(toIndentedString(buildContext)).append("\n"); + sb.append(" devfileRegistry: ").append(toIndentedString(devfileRegistry)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" rootRequired: ").append(toIndentedString(rootRequired)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry.java new file mode 100644 index 0000000..e4b0f26 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Dockerfile's Devfile Registry source + */ +@ApiModel(description = "Dockerfile's Devfile Registry source") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_REGISTRY_URL = "registryUrl"; + @SerializedName(SERIALIZED_NAME_REGISTRY_URL) + private String registryUrl; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry id(String id) { + + this.id = id; + return this; + } + + /** + * Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image. + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry registryUrl(String registryUrl) { + + this.registryUrl = registryUrl; + return this; + } + + /** + * Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used. + * @return registryUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used.") + + public String getRegistryUrl() { + return registryUrl; + } + + + public void setRegistryUrl(String registryUrl) { + this.registryUrl = registryUrl; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry) o; + return Objects.equals(this.id, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry.id) && + Objects.equals(this.registryUrl, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry.registryUrl); + } + + @Override + public int hashCode() { + return Objects.hash(id, registryUrl); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileDevfileRegistry {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" registryUrl: ").append(toIndentedString(registryUrl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit.java new file mode 100644 index 0000000..f83004d --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit.java @@ -0,0 +1,170 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Dockerfile's Git source + */ +@ApiModel(description = "Dockerfile's Git source") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_FILE_LOCATION = "fileLocation"; + @SerializedName(SERIALIZED_NAME_FILE_LOCATION) + private String fileLocation; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = null; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit checkoutFrom(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit fileLocation(String fileLocation) { + + this.fileLocation = fileLocation; + return this; + } + + /** + * Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile. + * @return fileLocation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile.") + + public String getFileLocation() { + return fileLocation; + } + + + public void setFileLocation(String fileLocation) { + this.fileLocation = fileLocation; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit putRemotesItem(String key, String remotesItem) { + if (this.remotes == null) { + this.remotes = new HashMap<>(); + } + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit) o; + return Objects.equals(this.checkoutFrom, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit.checkoutFrom) && + Objects.equals(this.fileLocation, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit.fileLocation) && + Objects.equals(this.remotes, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, fileLocation, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" fileLocation: ").append(toIndentedString(fileLocation)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom.java new file mode 100644 index 0000000..70efb3f --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom) o; + return Objects.equals(this.remote, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom.remote) && + Objects.equals(this.revision, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsImageDockerfileGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes.java new file mode 100644 index 0000000..b324d03 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production. + */ +@ApiModel(description = "Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production.") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes { + public static final String SERIALIZED_NAME_DEPLOY_BY_DEFAULT = "deployByDefault"; + @SerializedName(SERIALIZED_NAME_DEPLOY_BY_DEFAULT) + private Boolean deployByDefault; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_INLINED = "inlined"; + @SerializedName(SERIALIZED_NAME_INLINED) + private String inlined; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes deployByDefault(Boolean deployByDefault) { + + this.deployByDefault = deployByDefault; + return this; + } + + /** + * Defines if the component should be deployed during startup. Default value is `false` + * @return deployByDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the component should be deployed during startup. Default value is `false`") + + public Boolean getDeployByDefault() { + return deployByDefault; + } + + + public void setDeployByDefault(Boolean deployByDefault) { + this.deployByDefault = deployByDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes addEndpointsItem(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes inlined(String inlined) { + + this.inlined = inlined; + return this; + } + + /** + * Inlined manifest + * @return inlined + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Inlined manifest") + + public String getInlined() { + return inlined; + } + + + public void setInlined(String inlined) { + this.inlined = inlined; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * Location in a file fetched from a uri. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location in a file fetched from a uri.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes) o; + return Objects.equals(this.deployByDefault, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes.deployByDefault) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes.endpoints) && + Objects.equals(this.inlined, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes.inlined) && + Objects.equals(this.uri, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes.uri); + } + + @Override + public int hashCode() { + return Objects.hash(deployByDefault, endpoints, inlined, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetes {\n"); + sb.append(" deployByDefault: ").append(toIndentedString(deployByDefault)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" inlined: ").append(toIndentedString(inlined)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints.java new file mode 100644 index 0000000..85110cc --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints + */ + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsKubernetesEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift.java new file mode 100644 index 0000000..8c3a967 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production. + */ +@ApiModel(description = "Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production.") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift { + public static final String SERIALIZED_NAME_DEPLOY_BY_DEFAULT = "deployByDefault"; + @SerializedName(SERIALIZED_NAME_DEPLOY_BY_DEFAULT) + private Boolean deployByDefault; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_INLINED = "inlined"; + @SerializedName(SERIALIZED_NAME_INLINED) + private String inlined; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift deployByDefault(Boolean deployByDefault) { + + this.deployByDefault = deployByDefault; + return this; + } + + /** + * Defines if the component should be deployed during startup. Default value is `false` + * @return deployByDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the component should be deployed during startup. Default value is `false`") + + public Boolean getDeployByDefault() { + return deployByDefault; + } + + + public void setDeployByDefault(Boolean deployByDefault) { + this.deployByDefault = deployByDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift addEndpointsItem(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift inlined(String inlined) { + + this.inlined = inlined; + return this; + } + + /** + * Inlined manifest + * @return inlined + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Inlined manifest") + + public String getInlined() { + return inlined; + } + + + public void setInlined(String inlined) { + this.inlined = inlined; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * Location in a file fetched from a uri. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location in a file fetched from a uri.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift) o; + return Objects.equals(this.deployByDefault, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift.deployByDefault) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift.endpoints) && + Objects.equals(this.inlined, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift.inlined) && + Objects.equals(this.uri, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift.uri); + } + + @Override + public int hashCode() { + return Objects.hash(deployByDefault, endpoints, inlined, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshift {\n"); + sb.append(" deployByDefault: ").append(toIndentedString(deployByDefault)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" inlined: ").append(toIndentedString(inlined)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints.java new file mode 100644 index 0000000..bc0dbf8 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints + */ + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsOpenshiftEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin.java new file mode 100644 index 0000000..5c79795 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin.java @@ -0,0 +1,295 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing a plugin. Plugins are mainly imported devfiles that contribute components, commands and events as a consistent single unit. They are defined in either YAML files following the devfile syntax, or as `DevWorkspaceTemplate` Kubernetes Custom Resources + */ +@ApiModel(description = "Allows importing a plugin. Plugins are mainly imported devfiles that contribute components, commands and events as a consistent single unit. They are defined in either YAML files following the devfile syntax, or as `DevWorkspaceTemplate` Kubernetes Custom Resources") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin { + public static final String SERIALIZED_NAME_COMMANDS = "commands"; + @SerializedName(SERIALIZED_NAME_COMMANDS) + private List commands = null; + + public static final String SERIALIZED_NAME_COMPONENTS = "components"; + @SerializedName(SERIALIZED_NAME_COMPONENTS) + private List components = null; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_KUBERNETES = "kubernetes"; + @SerializedName(SERIALIZED_NAME_KUBERNETES) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes kubernetes; + + public static final String SERIALIZED_NAME_REGISTRY_URL = "registryUrl"; + @SerializedName(SERIALIZED_NAME_REGISTRY_URL) + private String registryUrl; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private String version; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin commands(List commands) { + + this.commands = commands; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin addCommandsItem(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands commandsItem) { + if (this.commands == null) { + this.commands = new ArrayList<>(); + } + this.commands.add(commandsItem); + return this; + } + + /** + * Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. + * @return commands + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules.") + + public List getCommands() { + return commands; + } + + + public void setCommands(List commands) { + this.commands = commands; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin components(List components) { + + this.components = components; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin addComponentsItem(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents componentsItem) { + if (this.components == null) { + this.components = new ArrayList<>(); + } + this.components.add(componentsItem); + return this; + } + + /** + * Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. + * @return components + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules.") + + public List getComponents() { + return components; + } + + + public void setComponents(List components) { + this.components = components; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin id(String id) { + + this.id = id; + return this; + } + + /** + * Id in a registry that contains a Devfile yaml file + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Id in a registry that contains a Devfile yaml file") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin kubernetes(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes kubernetes) { + + this.kubernetes = kubernetes; + return this; + } + + /** + * Get kubernetes + * @return kubernetes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes getKubernetes() { + return kubernetes; + } + + + public void setKubernetes(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes kubernetes) { + this.kubernetes = kubernetes; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin registryUrl(String registryUrl) { + + this.registryUrl = registryUrl; + return this; + } + + /** + * Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used. + * @return registryUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used.") + + public String getRegistryUrl() { + return registryUrl; + } + + + public void setRegistryUrl(String registryUrl) { + this.registryUrl = registryUrl; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin version(String version) { + + this.version = version; + return this; + } + + /** + * Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used. + * @return version + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used.") + + public String getVersion() { + return version; + } + + + public void setVersion(String version) { + this.version = version; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin) o; + return Objects.equals(this.commands, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin.commands) && + Objects.equals(this.components, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin.components) && + Objects.equals(this.id, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin.id) && + Objects.equals(this.kubernetes, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin.kubernetes) && + Objects.equals(this.registryUrl, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin.registryUrl) && + Objects.equals(this.uri, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin.uri) && + Objects.equals(this.version, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin.version); + } + + @Override + public int hashCode() { + return Objects.hash(commands, components, id, kubernetes, registryUrl, uri, version); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPlugin {\n"); + sb.append(" commands: ").append(toIndentedString(commands)).append("\n"); + sb.append(" components: ").append(toIndentedString(components)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" kubernetes: ").append(toIndentedString(kubernetes)).append("\n"); + sb.append(" registryUrl: ").append(toIndentedString(registryUrl)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands.java new file mode 100644 index 0000000..c1bbc72 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands.java @@ -0,0 +1,217 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands + */ + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands { + public static final String SERIALIZED_NAME_APPLY = "apply"; + @SerializedName(SERIALIZED_NAME_APPLY) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply apply; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_COMPOSITE = "composite"; + @SerializedName(SERIALIZED_NAME_COMPOSITE) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite composite; + + public static final String SERIALIZED_NAME_EXEC = "exec"; + @SerializedName(SERIALIZED_NAME_EXEC) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec exec; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands apply(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply apply) { + + this.apply = apply; + return this; + } + + /** + * Get apply + * @return apply + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply getApply() { + return apply; + } + + + public void setApply(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply apply) { + this.apply = apply; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands composite(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite composite) { + + this.composite = composite; + return this; + } + + /** + * Get composite + * @return composite + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite getComposite() { + return composite; + } + + + public void setComposite(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite composite) { + this.composite = composite; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands exec(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec exec) { + + this.exec = exec; + return this; + } + + /** + * Get exec + * @return exec + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec getExec() { + return exec; + } + + + public void setExec(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec exec) { + this.exec = exec; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands id(String id) { + + this.id = id; + return this; + } + + /** + * Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events. + * @return id + **/ + @ApiModelProperty(required = true, value = "Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands) o; + return Objects.equals(this.apply, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands.apply) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands.attributes) && + Objects.equals(this.composite, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands.composite) && + Objects.equals(this.exec, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands.exec) && + Objects.equals(this.id, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands.id); + } + + @Override + public int hashCode() { + return Objects.hash(apply, attributes, composite, exec, id); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommands {\n"); + sb.append(" apply: ").append(toIndentedString(apply)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" composite: ").append(toIndentedString(composite)).append("\n"); + sb.append(" exec: ").append(toIndentedString(exec)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply.java new file mode 100644 index 0000000..4c85c98 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply.java @@ -0,0 +1,159 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. + */ +@ApiModel(description = "Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false.") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply { + public static final String SERIALIZED_NAME_COMPONENT = "component"; + @SerializedName(SERIALIZED_NAME_COMPONENT) + private String component; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply component(String component) { + + this.component = component; + return this; + } + + /** + * Describes component that will be applied + * @return component + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes component that will be applied") + + public String getComponent() { + return component; + } + + + public void setComponent(String component) { + this.component = component; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply group(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply) o; + return Objects.equals(this.component, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply.component) && + Objects.equals(this.group, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply.group) && + Objects.equals(this.label, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply.label); + } + + @Override + public int hashCode() { + return Objects.hash(component, group, label); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApply {\n"); + sb.append(" component: ").append(toIndentedString(component)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup.java new file mode 100644 index 0000000..00a55c4 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsApplyGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite.java new file mode 100644 index 0000000..90a047f --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Composite command that allows executing several sub-commands either sequentially or concurrently + */ +@ApiModel(description = "Composite command that allows executing several sub-commands either sequentially or concurrently") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite { + public static final String SERIALIZED_NAME_COMMANDS = "commands"; + @SerializedName(SERIALIZED_NAME_COMMANDS) + private List commands = null; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + public static final String SERIALIZED_NAME_PARALLEL = "parallel"; + @SerializedName(SERIALIZED_NAME_PARALLEL) + private Boolean parallel; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite commands(List commands) { + + this.commands = commands; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite addCommandsItem(String commandsItem) { + if (this.commands == null) { + this.commands = new ArrayList<>(); + } + this.commands.add(commandsItem); + return this; + } + + /** + * The commands that comprise this composite command + * @return commands + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The commands that comprise this composite command") + + public List getCommands() { + return commands; + } + + + public void setCommands(List commands) { + this.commands = commands; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite group(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite parallel(Boolean parallel) { + + this.parallel = parallel; + return this; + } + + /** + * Indicates if the sub-commands should be executed concurrently + * @return parallel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates if the sub-commands should be executed concurrently") + + public Boolean getParallel() { + return parallel; + } + + + public void setParallel(Boolean parallel) { + this.parallel = parallel; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite) o; + return Objects.equals(this.commands, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite.commands) && + Objects.equals(this.group, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite.group) && + Objects.equals(this.label, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite.label) && + Objects.equals(this.parallel, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite.parallel); + } + + @Override + public int hashCode() { + return Objects.hash(commands, group, label, parallel); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsComposite {\n"); + sb.append(" commands: ").append(toIndentedString(commands)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" parallel: ").append(toIndentedString(parallel)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup.java new file mode 100644 index 0000000..5454e33 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsCompositeGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec.java new file mode 100644 index 0000000..94c11a8 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec.java @@ -0,0 +1,286 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CLI Command executed in an existing component container + */ +@ApiModel(description = "CLI Command executed in an existing component container") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec { + public static final String SERIALIZED_NAME_COMMAND_LINE = "commandLine"; + @SerializedName(SERIALIZED_NAME_COMMAND_LINE) + private String commandLine; + + public static final String SERIALIZED_NAME_COMPONENT = "component"; + @SerializedName(SERIALIZED_NAME_COMPONENT) + private String component; + + public static final String SERIALIZED_NAME_ENV = "env"; + @SerializedName(SERIALIZED_NAME_ENV) + private List env = null; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup group; + + public static final String SERIALIZED_NAME_HOT_RELOAD_CAPABLE = "hotReloadCapable"; + @SerializedName(SERIALIZED_NAME_HOT_RELOAD_CAPABLE) + private Boolean hotReloadCapable; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + public static final String SERIALIZED_NAME_WORKING_DIR = "workingDir"; + @SerializedName(SERIALIZED_NAME_WORKING_DIR) + private String workingDir; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec commandLine(String commandLine) { + + this.commandLine = commandLine; + return this; + } + + /** + * The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. + * @return commandLine + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one.") + + public String getCommandLine() { + return commandLine; + } + + + public void setCommandLine(String commandLine) { + this.commandLine = commandLine; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec component(String component) { + + this.component = component; + return this; + } + + /** + * Describes component to which given action relates + * @return component + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes component to which given action relates") + + public String getComponent() { + return component; + } + + + public void setComponent(String component) { + this.component = component; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec env(List env) { + + this.env = env; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec addEnvItem(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv envItem) { + if (this.env == null) { + this.env = new ArrayList<>(); + } + this.env.add(envItem); + return this; + } + + /** + * Optional list of environment variables that have to be set before running the command + * @return env + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional list of environment variables that have to be set before running the command") + + public List getEnv() { + return env; + } + + + public void setEnv(List env) { + this.env = env; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec group(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec hotReloadCapable(Boolean hotReloadCapable) { + + this.hotReloadCapable = hotReloadCapable; + return this; + } + + /** + * Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false` + * @return hotReloadCapable + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false`") + + public Boolean getHotReloadCapable() { + return hotReloadCapable; + } + + + public void setHotReloadCapable(Boolean hotReloadCapable) { + this.hotReloadCapable = hotReloadCapable; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec workingDir(String workingDir) { + + this.workingDir = workingDir; + return this; + } + + /** + * Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. + * @return workingDir + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one.") + + public String getWorkingDir() { + return workingDir; + } + + + public void setWorkingDir(String workingDir) { + this.workingDir = workingDir; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec) o; + return Objects.equals(this.commandLine, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec.commandLine) && + Objects.equals(this.component, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec.component) && + Objects.equals(this.env, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec.env) && + Objects.equals(this.group, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec.group) && + Objects.equals(this.hotReloadCapable, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec.hotReloadCapable) && + Objects.equals(this.label, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec.label) && + Objects.equals(this.workingDir, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec.workingDir); + } + + @Override + public int hashCode() { + return Objects.hash(commandLine, component, env, group, hotReloadCapable, label, workingDir); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExec {\n"); + sb.append(" commandLine: ").append(toIndentedString(commandLine)).append("\n"); + sb.append(" component: ").append(toIndentedString(component)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" hotReloadCapable: ").append(toIndentedString(hotReloadCapable)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" workingDir: ").append(toIndentedString(workingDir)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv.java new file mode 100644 index 0000000..2e208f7 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv.java @@ -0,0 +1,127 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv + */ + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv.name) && + Objects.equals(this.value, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecEnv {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup.java new file mode 100644 index 0000000..b8d597c --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginCommandsItemsExecGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents.java new file mode 100644 index 0000000..3e05cfc --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents.java @@ -0,0 +1,277 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents + */ + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_CONTAINER = "container"; + @SerializedName(SERIALIZED_NAME_CONTAINER) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer container; + + public static final String SERIALIZED_NAME_IMAGE = "image"; + @SerializedName(SERIALIZED_NAME_IMAGE) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage image; + + public static final String SERIALIZED_NAME_KUBERNETES = "kubernetes"; + @SerializedName(SERIALIZED_NAME_KUBERNETES) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes kubernetes; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OPENSHIFT = "openshift"; + @SerializedName(SERIALIZED_NAME_OPENSHIFT) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift openshift; + + public static final String SERIALIZED_NAME_VOLUME = "volume"; + @SerializedName(SERIALIZED_NAME_VOLUME) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume volume; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents container(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer container) { + + this.container = container; + return this; + } + + /** + * Get container + * @return container + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer getContainer() { + return container; + } + + + public void setContainer(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer container) { + this.container = container; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents image(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage image) { + + this.image = image; + return this; + } + + /** + * Get image + * @return image + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage getImage() { + return image; + } + + + public void setImage(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage image) { + this.image = image; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents kubernetes(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes kubernetes) { + + this.kubernetes = kubernetes; + return this; + } + + /** + * Get kubernetes + * @return kubernetes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes getKubernetes() { + return kubernetes; + } + + + public void setKubernetes(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes kubernetes) { + this.kubernetes = kubernetes; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents name(String name) { + + this.name = name; + return this; + } + + /** + * Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin. + * @return name + **/ + @ApiModelProperty(required = true, value = "Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents openshift(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift openshift) { + + this.openshift = openshift; + return this; + } + + /** + * Get openshift + * @return openshift + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift getOpenshift() { + return openshift; + } + + + public void setOpenshift(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift openshift) { + this.openshift = openshift; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents volume(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume volume) { + + this.volume = volume; + return this; + } + + /** + * Get volume + * @return volume + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume getVolume() { + return volume; + } + + + public void setVolume(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume volume) { + this.volume = volume; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents) o; + return Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents.attributes) && + Objects.equals(this.container, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents.container) && + Objects.equals(this.image, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents.image) && + Objects.equals(this.kubernetes, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents.kubernetes) && + Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents.name) && + Objects.equals(this.openshift, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents.openshift) && + Objects.equals(this.volume, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents.volume); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, container, image, kubernetes, name, openshift, volume); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponents {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" container: ").append(toIndentedString(container)).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" kubernetes: ").append(toIndentedString(kubernetes)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" openshift: ").append(toIndentedString(openshift)).append("\n"); + sb.append(" volume: ").append(toIndentedString(volume)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.java new file mode 100644 index 0000000..adb571e --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.java @@ -0,0 +1,523 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows adding and configuring devworkspace-related containers + */ +@ApiModel(description = "Allows adding and configuring devworkspace-related containers") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation annotation; + + public static final String SERIALIZED_NAME_ARGS = "args"; + @SerializedName(SERIALIZED_NAME_ARGS) + private List args = null; + + public static final String SERIALIZED_NAME_COMMAND = "command"; + @SerializedName(SERIALIZED_NAME_COMMAND) + private List command = null; + + public static final String SERIALIZED_NAME_CPU_LIMIT = "cpuLimit"; + @SerializedName(SERIALIZED_NAME_CPU_LIMIT) + private String cpuLimit; + + public static final String SERIALIZED_NAME_CPU_REQUEST = "cpuRequest"; + @SerializedName(SERIALIZED_NAME_CPU_REQUEST) + private String cpuRequest; + + public static final String SERIALIZED_NAME_DEDICATED_POD = "dedicatedPod"; + @SerializedName(SERIALIZED_NAME_DEDICATED_POD) + private Boolean dedicatedPod; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_ENV = "env"; + @SerializedName(SERIALIZED_NAME_ENV) + private List env = null; + + public static final String SERIALIZED_NAME_IMAGE = "image"; + @SerializedName(SERIALIZED_NAME_IMAGE) + private String image; + + public static final String SERIALIZED_NAME_MEMORY_LIMIT = "memoryLimit"; + @SerializedName(SERIALIZED_NAME_MEMORY_LIMIT) + private String memoryLimit; + + public static final String SERIALIZED_NAME_MEMORY_REQUEST = "memoryRequest"; + @SerializedName(SERIALIZED_NAME_MEMORY_REQUEST) + private String memoryRequest; + + public static final String SERIALIZED_NAME_MOUNT_SOURCES = "mountSources"; + @SerializedName(SERIALIZED_NAME_MOUNT_SOURCES) + private Boolean mountSources; + + public static final String SERIALIZED_NAME_SOURCE_MAPPING = "sourceMapping"; + @SerializedName(SERIALIZED_NAME_SOURCE_MAPPING) + private String sourceMapping; + + public static final String SERIALIZED_NAME_VOLUME_MOUNTS = "volumeMounts"; + @SerializedName(SERIALIZED_NAME_VOLUME_MOUNTS) + private List volumeMounts = null; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer annotation(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation annotation) { + + this.annotation = annotation; + return this; + } + + /** + * Get annotation + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation getAnnotation() { + return annotation; + } + + + public void setAnnotation(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer args(List args) { + + this.args = args; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer addArgsItem(String argsItem) { + if (this.args == null) { + this.args = new ArrayList<>(); + } + this.args.add(argsItem); + return this; + } + + /** + * The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image. + * @return args + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image.") + + public List getArgs() { + return args; + } + + + public void setArgs(List args) { + this.args = args; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer command(List command) { + + this.command = command; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer addCommandItem(String commandItem) { + if (this.command == null) { + this.command = new ArrayList<>(); + } + this.command.add(commandItem); + return this; + } + + /** + * The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image. + * @return command + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image.") + + public List getCommand() { + return command; + } + + + public void setCommand(List command) { + this.command = command; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer cpuLimit(String cpuLimit) { + + this.cpuLimit = cpuLimit; + return this; + } + + /** + * Get cpuLimit + * @return cpuLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCpuLimit() { + return cpuLimit; + } + + + public void setCpuLimit(String cpuLimit) { + this.cpuLimit = cpuLimit; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer cpuRequest(String cpuRequest) { + + this.cpuRequest = cpuRequest; + return this; + } + + /** + * Get cpuRequest + * @return cpuRequest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCpuRequest() { + return cpuRequest; + } + + + public void setCpuRequest(String cpuRequest) { + this.cpuRequest = cpuRequest; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer dedicatedPod(Boolean dedicatedPod) { + + this.dedicatedPod = dedicatedPod; + return this; + } + + /** + * Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false` + * @return dedicatedPod + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false`") + + public Boolean getDedicatedPod() { + return dedicatedPod; + } + + + public void setDedicatedPod(Boolean dedicatedPod) { + this.dedicatedPod = dedicatedPod; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer addEndpointsItem(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer env(List env) { + + this.env = env; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer addEnvItem(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv envItem) { + if (this.env == null) { + this.env = new ArrayList<>(); + } + this.env.add(envItem); + return this; + } + + /** + * Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE` + * @return env + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE`") + + public List getEnv() { + return env; + } + + + public void setEnv(List env) { + this.env = env; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer image(String image) { + + this.image = image; + return this; + } + + /** + * Get image + * @return image + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getImage() { + return image; + } + + + public void setImage(String image) { + this.image = image; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer memoryLimit(String memoryLimit) { + + this.memoryLimit = memoryLimit; + return this; + } + + /** + * Get memoryLimit + * @return memoryLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMemoryLimit() { + return memoryLimit; + } + + + public void setMemoryLimit(String memoryLimit) { + this.memoryLimit = memoryLimit; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer memoryRequest(String memoryRequest) { + + this.memoryRequest = memoryRequest; + return this; + } + + /** + * Get memoryRequest + * @return memoryRequest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMemoryRequest() { + return memoryRequest; + } + + + public void setMemoryRequest(String memoryRequest) { + this.memoryRequest = memoryRequest; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer mountSources(Boolean mountSources) { + + this.mountSources = mountSources; + return this; + } + + /** + * Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. + * @return mountSources + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true.") + + public Boolean getMountSources() { + return mountSources; + } + + + public void setMountSources(Boolean mountSources) { + this.mountSources = mountSources; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer sourceMapping(String sourceMapping) { + + this.sourceMapping = sourceMapping; + return this; + } + + /** + * Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used. + * @return sourceMapping + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used.") + + public String getSourceMapping() { + return sourceMapping; + } + + + public void setSourceMapping(String sourceMapping) { + this.sourceMapping = sourceMapping; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer volumeMounts(List volumeMounts) { + + this.volumeMounts = volumeMounts; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer addVolumeMountsItem(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts volumeMountsItem) { + if (this.volumeMounts == null) { + this.volumeMounts = new ArrayList<>(); + } + this.volumeMounts.add(volumeMountsItem); + return this; + } + + /** + * List of volumes mounts that should be mounted is this container. + * @return volumeMounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of volumes mounts that should be mounted is this container.") + + public List getVolumeMounts() { + return volumeMounts; + } + + + public void setVolumeMounts(List volumeMounts) { + this.volumeMounts = volumeMounts; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.annotation) && + Objects.equals(this.args, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.args) && + Objects.equals(this.command, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.command) && + Objects.equals(this.cpuLimit, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.cpuLimit) && + Objects.equals(this.cpuRequest, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.cpuRequest) && + Objects.equals(this.dedicatedPod, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.dedicatedPod) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.endpoints) && + Objects.equals(this.env, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.env) && + Objects.equals(this.image, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.image) && + Objects.equals(this.memoryLimit, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.memoryLimit) && + Objects.equals(this.memoryRequest, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.memoryRequest) && + Objects.equals(this.mountSources, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.mountSources) && + Objects.equals(this.sourceMapping, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.sourceMapping) && + Objects.equals(this.volumeMounts, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer.volumeMounts); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, args, command, cpuLimit, cpuRequest, dedicatedPod, endpoints, env, image, memoryLimit, memoryRequest, mountSources, sourceMapping, volumeMounts); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainer {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" args: ").append(toIndentedString(args)).append("\n"); + sb.append(" command: ").append(toIndentedString(command)).append("\n"); + sb.append(" cpuLimit: ").append(toIndentedString(cpuLimit)).append("\n"); + sb.append(" cpuRequest: ").append(toIndentedString(cpuRequest)).append("\n"); + sb.append(" dedicatedPod: ").append(toIndentedString(dedicatedPod)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" memoryLimit: ").append(toIndentedString(memoryLimit)).append("\n"); + sb.append(" memoryRequest: ").append(toIndentedString(memoryRequest)).append("\n"); + sb.append(" mountSources: ").append(toIndentedString(mountSources)).append("\n"); + sb.append(" sourceMapping: ").append(toIndentedString(sourceMapping)).append("\n"); + sb.append(" volumeMounts: ").append(toIndentedString(volumeMounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation.java new file mode 100644 index 0000000..11d22d1 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation.java @@ -0,0 +1,148 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Annotations that should be added to specific resources for this container + */ +@ApiModel(description = "Annotations that should be added to specific resources for this container") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation { + public static final String SERIALIZED_NAME_DEPLOYMENT = "deployment"; + @SerializedName(SERIALIZED_NAME_DEPLOYMENT) + private Map deployment = null; + + public static final String SERIALIZED_NAME_SERVICE = "service"; + @SerializedName(SERIALIZED_NAME_SERVICE) + private Map service = null; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation deployment(Map deployment) { + + this.deployment = deployment; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation putDeploymentItem(String key, String deploymentItem) { + if (this.deployment == null) { + this.deployment = new HashMap<>(); + } + this.deployment.put(key, deploymentItem); + return this; + } + + /** + * Annotations to be added to deployment + * @return deployment + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to deployment") + + public Map getDeployment() { + return deployment; + } + + + public void setDeployment(Map deployment) { + this.deployment = deployment; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation service(Map service) { + + this.service = service; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation putServiceItem(String key, String serviceItem) { + if (this.service == null) { + this.service = new HashMap<>(); + } + this.service.put(key, serviceItem); + return this; + } + + /** + * Annotations to be added to service + * @return service + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to service") + + public Map getService() { + return service; + } + + + public void setService(Map service) { + this.service = service; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation) o; + return Objects.equals(this.deployment, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation.deployment) && + Objects.equals(this.service, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation.service); + } + + @Override + public int hashCode() { + return Objects.hash(deployment, service); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerAnnotation {\n"); + sb.append(" deployment: ").append(toIndentedString(deployment)).append("\n"); + sb.append(" service: ").append(toIndentedString(service)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints.java new file mode 100644 index 0000000..3c8e0ef --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints + */ + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv.java new file mode 100644 index 0000000..d611c29 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv.java @@ -0,0 +1,127 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv + */ + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv.name) && + Objects.equals(this.value, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerEnv {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts.java new file mode 100644 index 0000000..fcc2547 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts.java @@ -0,0 +1,128 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Volume that should be mounted to a component container + */ +@ApiModel(description = "Volume that should be mounted to a component container") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts name(String name) { + + this.name = name; + return this; + } + + /** + * The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files. + * @return name + **/ + @ApiModelProperty(required = true, value = "The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts path(String path) { + + this.path = path; + return this; + } + + /** + * The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/<name>`. + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/`.") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts.path); + } + + @Override + public int hashCode() { + return Objects.hash(name, path); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsContainerVolumeMounts {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage.java new file mode 100644 index 0000000..5ae0f49 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage.java @@ -0,0 +1,159 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the definition of an image for outer loop builds + */ +@ApiModel(description = "Allows specifying the definition of an image for outer loop builds") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage { + public static final String SERIALIZED_NAME_AUTO_BUILD = "autoBuild"; + @SerializedName(SERIALIZED_NAME_AUTO_BUILD) + private Boolean autoBuild; + + public static final String SERIALIZED_NAME_DOCKERFILE = "dockerfile"; + @SerializedName(SERIALIZED_NAME_DOCKERFILE) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile dockerfile; + + public static final String SERIALIZED_NAME_IMAGE_NAME = "imageName"; + @SerializedName(SERIALIZED_NAME_IMAGE_NAME) + private String imageName; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage autoBuild(Boolean autoBuild) { + + this.autoBuild = autoBuild; + return this; + } + + /** + * Defines if the image should be built during startup. Default value is `false` + * @return autoBuild + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the image should be built during startup. Default value is `false`") + + public Boolean getAutoBuild() { + return autoBuild; + } + + + public void setAutoBuild(Boolean autoBuild) { + this.autoBuild = autoBuild; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage dockerfile(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile dockerfile) { + + this.dockerfile = dockerfile; + return this; + } + + /** + * Get dockerfile + * @return dockerfile + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile getDockerfile() { + return dockerfile; + } + + + public void setDockerfile(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile dockerfile) { + this.dockerfile = dockerfile; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage imageName(String imageName) { + + this.imageName = imageName; + return this; + } + + /** + * Name of the image for the resulting outerloop build + * @return imageName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Name of the image for the resulting outerloop build") + + public String getImageName() { + return imageName; + } + + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage) o; + return Objects.equals(this.autoBuild, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage.autoBuild) && + Objects.equals(this.dockerfile, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage.dockerfile) && + Objects.equals(this.imageName, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage.imageName); + } + + @Override + public int hashCode() { + return Objects.hash(autoBuild, dockerfile, imageName); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImage {\n"); + sb.append(" autoBuild: ").append(toIndentedString(autoBuild)).append("\n"); + sb.append(" dockerfile: ").append(toIndentedString(dockerfile)).append("\n"); + sb.append(" imageName: ").append(toIndentedString(imageName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile.java new file mode 100644 index 0000000..20b072a --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile.java @@ -0,0 +1,257 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows specifying dockerfile type build + */ +@ApiModel(description = "Allows specifying dockerfile type build") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile { + public static final String SERIALIZED_NAME_ARGS = "args"; + @SerializedName(SERIALIZED_NAME_ARGS) + private List args = null; + + public static final String SERIALIZED_NAME_BUILD_CONTEXT = "buildContext"; + @SerializedName(SERIALIZED_NAME_BUILD_CONTEXT) + private String buildContext; + + public static final String SERIALIZED_NAME_DEVFILE_REGISTRY = "devfileRegistry"; + @SerializedName(SERIALIZED_NAME_DEVFILE_REGISTRY) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry devfileRegistry; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit git; + + public static final String SERIALIZED_NAME_ROOT_REQUIRED = "rootRequired"; + @SerializedName(SERIALIZED_NAME_ROOT_REQUIRED) + private Boolean rootRequired; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile args(List args) { + + this.args = args; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile addArgsItem(String argsItem) { + if (this.args == null) { + this.args = new ArrayList<>(); + } + this.args.add(argsItem); + return this; + } + + /** + * The arguments to supply to the dockerfile build. + * @return args + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The arguments to supply to the dockerfile build.") + + public List getArgs() { + return args; + } + + + public void setArgs(List args) { + this.args = args; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile buildContext(String buildContext) { + + this.buildContext = buildContext; + return this; + } + + /** + * Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container + * @return buildContext + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container") + + public String getBuildContext() { + return buildContext; + } + + + public void setBuildContext(String buildContext) { + this.buildContext = buildContext; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile devfileRegistry(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry devfileRegistry) { + + this.devfileRegistry = devfileRegistry; + return this; + } + + /** + * Get devfileRegistry + * @return devfileRegistry + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry getDevfileRegistry() { + return devfileRegistry; + } + + + public void setDevfileRegistry(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry devfileRegistry) { + this.devfileRegistry = devfileRegistry; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile git(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit getGit() { + return git; + } + + + public void setGit(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit git) { + this.git = git; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile rootRequired(Boolean rootRequired) { + + this.rootRequired = rootRequired; + return this; + } + + /** + * Specify if a privileged builder pod is required. Default value is `false` + * @return rootRequired + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify if a privileged builder pod is required. Default value is `false`") + + public Boolean getRootRequired() { + return rootRequired; + } + + + public void setRootRequired(Boolean rootRequired) { + this.rootRequired = rootRequired; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile) o; + return Objects.equals(this.args, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile.args) && + Objects.equals(this.buildContext, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile.buildContext) && + Objects.equals(this.devfileRegistry, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile.devfileRegistry) && + Objects.equals(this.git, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile.git) && + Objects.equals(this.rootRequired, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile.rootRequired) && + Objects.equals(this.uri, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile.uri); + } + + @Override + public int hashCode() { + return Objects.hash(args, buildContext, devfileRegistry, git, rootRequired, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfile {\n"); + sb.append(" args: ").append(toIndentedString(args)).append("\n"); + sb.append(" buildContext: ").append(toIndentedString(buildContext)).append("\n"); + sb.append(" devfileRegistry: ").append(toIndentedString(devfileRegistry)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" rootRequired: ").append(toIndentedString(rootRequired)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.java new file mode 100644 index 0000000..3a2edc8 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Dockerfile's Devfile Registry source + */ +@ApiModel(description = "Dockerfile's Devfile Registry source") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_REGISTRY_URL = "registryUrl"; + @SerializedName(SERIALIZED_NAME_REGISTRY_URL) + private String registryUrl; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry id(String id) { + + this.id = id; + return this; + } + + /** + * Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image. + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry registryUrl(String registryUrl) { + + this.registryUrl = registryUrl; + return this; + } + + /** + * Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used. + * @return registryUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used.") + + public String getRegistryUrl() { + return registryUrl; + } + + + public void setRegistryUrl(String registryUrl) { + this.registryUrl = registryUrl; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry) o; + return Objects.equals(this.id, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.id) && + Objects.equals(this.registryUrl, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.registryUrl); + } + + @Override + public int hashCode() { + return Objects.hash(id, registryUrl); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" registryUrl: ").append(toIndentedString(registryUrl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit.java new file mode 100644 index 0000000..1dd187b --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit.java @@ -0,0 +1,170 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Dockerfile's Git source + */ +@ApiModel(description = "Dockerfile's Git source") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_FILE_LOCATION = "fileLocation"; + @SerializedName(SERIALIZED_NAME_FILE_LOCATION) + private String fileLocation; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = null; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit checkoutFrom(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit fileLocation(String fileLocation) { + + this.fileLocation = fileLocation; + return this; + } + + /** + * Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile. + * @return fileLocation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile.") + + public String getFileLocation() { + return fileLocation; + } + + + public void setFileLocation(String fileLocation) { + this.fileLocation = fileLocation; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit putRemotesItem(String key, String remotesItem) { + if (this.remotes == null) { + this.remotes = new HashMap<>(); + } + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit) o; + return Objects.equals(this.checkoutFrom, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit.checkoutFrom) && + Objects.equals(this.fileLocation, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit.fileLocation) && + Objects.equals(this.remotes, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, fileLocation, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" fileLocation: ").append(toIndentedString(fileLocation)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.java new file mode 100644 index 0000000..44fecff --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom) o; + return Objects.equals(this.remote, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.remote) && + Objects.equals(this.revision, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes.java new file mode 100644 index 0000000..005d136 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production. + */ +@ApiModel(description = "Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production.") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes { + public static final String SERIALIZED_NAME_DEPLOY_BY_DEFAULT = "deployByDefault"; + @SerializedName(SERIALIZED_NAME_DEPLOY_BY_DEFAULT) + private Boolean deployByDefault; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_INLINED = "inlined"; + @SerializedName(SERIALIZED_NAME_INLINED) + private String inlined; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes deployByDefault(Boolean deployByDefault) { + + this.deployByDefault = deployByDefault; + return this; + } + + /** + * Defines if the component should be deployed during startup. Default value is `false` + * @return deployByDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the component should be deployed during startup. Default value is `false`") + + public Boolean getDeployByDefault() { + return deployByDefault; + } + + + public void setDeployByDefault(Boolean deployByDefault) { + this.deployByDefault = deployByDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes addEndpointsItem(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes inlined(String inlined) { + + this.inlined = inlined; + return this; + } + + /** + * Inlined manifest + * @return inlined + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Inlined manifest") + + public String getInlined() { + return inlined; + } + + + public void setInlined(String inlined) { + this.inlined = inlined; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * Location in a file fetched from a uri. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location in a file fetched from a uri.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes) o; + return Objects.equals(this.deployByDefault, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes.deployByDefault) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes.endpoints) && + Objects.equals(this.inlined, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes.inlined) && + Objects.equals(this.uri, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes.uri); + } + + @Override + public int hashCode() { + return Objects.hash(deployByDefault, endpoints, inlined, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetes {\n"); + sb.append(" deployByDefault: ").append(toIndentedString(deployByDefault)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" inlined: ").append(toIndentedString(inlined)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.java new file mode 100644 index 0000000..5943d05 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints + */ + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsKubernetesEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift.java new file mode 100644 index 0000000..76dcd41 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production. + */ +@ApiModel(description = "Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production.") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift { + public static final String SERIALIZED_NAME_DEPLOY_BY_DEFAULT = "deployByDefault"; + @SerializedName(SERIALIZED_NAME_DEPLOY_BY_DEFAULT) + private Boolean deployByDefault; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_INLINED = "inlined"; + @SerializedName(SERIALIZED_NAME_INLINED) + private String inlined; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift deployByDefault(Boolean deployByDefault) { + + this.deployByDefault = deployByDefault; + return this; + } + + /** + * Defines if the component should be deployed during startup. Default value is `false` + * @return deployByDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the component should be deployed during startup. Default value is `false`") + + public Boolean getDeployByDefault() { + return deployByDefault; + } + + + public void setDeployByDefault(Boolean deployByDefault) { + this.deployByDefault = deployByDefault; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift addEndpointsItem(V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift inlined(String inlined) { + + this.inlined = inlined; + return this; + } + + /** + * Inlined manifest + * @return inlined + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Inlined manifest") + + public String getInlined() { + return inlined; + } + + + public void setInlined(String inlined) { + this.inlined = inlined; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * Location in a file fetched from a uri. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location in a file fetched from a uri.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift) o; + return Objects.equals(this.deployByDefault, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift.deployByDefault) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift.endpoints) && + Objects.equals(this.inlined, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift.inlined) && + Objects.equals(this.uri, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift.uri); + } + + @Override + public int hashCode() { + return Objects.hash(deployByDefault, endpoints, inlined, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshift {\n"); + sb.append(" deployByDefault: ").append(toIndentedString(deployByDefault)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" inlined: ").append(toIndentedString(inlined)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.java new file mode 100644 index 0000000..5f70d24 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints + */ + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume.java new file mode 100644 index 0000000..4aa1b0a --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the definition of a volume shared by several other components + */ +@ApiModel(description = "Allows specifying the definition of a volume shared by several other components") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume { + public static final String SERIALIZED_NAME_EPHEMERAL = "ephemeral"; + @SerializedName(SERIALIZED_NAME_EPHEMERAL) + private Boolean ephemeral; + + public static final String SERIALIZED_NAME_SIZE = "size"; + @SerializedName(SERIALIZED_NAME_SIZE) + private String size; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume ephemeral(Boolean ephemeral) { + + this.ephemeral = ephemeral; + return this; + } + + /** + * Ephemeral volumes are not stored persistently across restarts. Defaults to false + * @return ephemeral + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Ephemeral volumes are not stored persistently across restarts. Defaults to false") + + public Boolean getEphemeral() { + return ephemeral; + } + + + public void setEphemeral(Boolean ephemeral) { + this.ephemeral = ephemeral; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume size(String size) { + + this.size = size; + return this; + } + + /** + * Size of the volume + * @return size + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Size of the volume") + + public String getSize() { + return size; + } + + + public void setSize(String size) { + this.size = size; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume) o; + return Objects.equals(this.ephemeral, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume.ephemeral) && + Objects.equals(this.size, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume.size); + } + + @Override + public int hashCode() { + return Objects.hash(ephemeral, size); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginComponentsItemsVolume {\n"); + sb.append(" ephemeral: ").append(toIndentedString(ephemeral)).append("\n"); + sb.append(" size: ").append(toIndentedString(size)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes.java new file mode 100644 index 0000000..1666558 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Reference to a Kubernetes CRD of type DevWorkspaceTemplate + */ +@ApiModel(description = "Reference to a Kubernetes CRD of type DevWorkspaceTemplate") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_NAMESPACE = "namespace"; + @SerializedName(SERIALIZED_NAME_NAMESPACE) + private String namespace; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes namespace(String namespace) { + + this.namespace = namespace; + return this; + } + + /** + * Get namespace + * @return namespace + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getNamespace() { + return namespace; + } + + + public void setNamespace(String namespace) { + this.namespace = namespace; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes.name) && + Objects.equals(this.namespace, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes.namespace); + } + + @Override + public int hashCode() { + return Objects.hash(name, namespace); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsPluginKubernetes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" namespace: ").append(toIndentedString(namespace)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume.java new file mode 100644 index 0000000..a8c1d26 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the definition of a volume shared by several other components + */ +@ApiModel(description = "Allows specifying the definition of a volume shared by several other components") + +public class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume { + public static final String SERIALIZED_NAME_EPHEMERAL = "ephemeral"; + @SerializedName(SERIALIZED_NAME_EPHEMERAL) + private Boolean ephemeral; + + public static final String SERIALIZED_NAME_SIZE = "size"; + @SerializedName(SERIALIZED_NAME_SIZE) + private String size; + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume ephemeral(Boolean ephemeral) { + + this.ephemeral = ephemeral; + return this; + } + + /** + * Ephemeral volumes are not stored persistently across restarts. Defaults to false + * @return ephemeral + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Ephemeral volumes are not stored persistently across restarts. Defaults to false") + + public Boolean getEphemeral() { + return ephemeral; + } + + + public void setEphemeral(Boolean ephemeral) { + this.ephemeral = ephemeral; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume size(String size) { + + this.size = size; + return this; + } + + /** + * Size of the volume + * @return size + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Size of the volume") + + public String getSize() { + return size; + } + + + public void setSize(String size) { + this.size = size; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume = (V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume) o; + return Objects.equals(this.ephemeral, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume.ephemeral) && + Objects.equals(this.size, v1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume.size); + } + + @Override + public int hashCode() { + return Objects.hash(ephemeral, size); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentComponentsItemsVolume {\n"); + sb.append(" ephemeral: ").append(toIndentedString(ephemeral)).append("\n"); + sb.append(" size: ").append(toIndentedString(size)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentKubernetes.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentKubernetes.java new file mode 100644 index 0000000..c3a31c5 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentKubernetes.java @@ -0,0 +1,128 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Reference to a Kubernetes CRD of type DevWorkspaceTemplate + */ +@ApiModel(description = "Reference to a Kubernetes CRD of type DevWorkspaceTemplate") + +public class V1alpha2DevWorkspaceSpecTemplateParentKubernetes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_NAMESPACE = "namespace"; + @SerializedName(SERIALIZED_NAME_NAMESPACE) + private String namespace; + + + public V1alpha2DevWorkspaceSpecTemplateParentKubernetes name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentKubernetes namespace(String namespace) { + + this.namespace = namespace; + return this; + } + + /** + * Get namespace + * @return namespace + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getNamespace() { + return namespace; + } + + + public void setNamespace(String namespace) { + this.namespace = namespace; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentKubernetes v1alpha2DevWorkspaceSpecTemplateParentKubernetes = (V1alpha2DevWorkspaceSpecTemplateParentKubernetes) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateParentKubernetes.name) && + Objects.equals(this.namespace, v1alpha2DevWorkspaceSpecTemplateParentKubernetes.namespace); + } + + @Override + public int hashCode() { + return Objects.hash(name, namespace); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentKubernetes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" namespace: ").append(toIndentedString(namespace)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentProjects.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentProjects.java new file mode 100644 index 0000000..4499e50 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentProjects.java @@ -0,0 +1,216 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceSpecTemplateParentProjects + */ + +public class V1alpha2DevWorkspaceSpecTemplateParentProjects { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_CLONE_PATH = "clonePath"; + @SerializedName(SERIALIZED_NAME_CLONE_PATH) + private String clonePath; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit git; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ZIP = "zip"; + @SerializedName(SERIALIZED_NAME_ZIP) + private V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip zip; + + + public V1alpha2DevWorkspaceSpecTemplateParentProjects attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentProjects clonePath(String clonePath) { + + this.clonePath = clonePath; + return this; + } + + /** + * Path relative to the root of the projects to which this project should be cloned into. This is a unix-style relative path (i.e. uses forward slashes). The path is invalid if it is absolute or tries to escape the project root through the usage of '..'. If not specified, defaults to the project name. + * @return clonePath + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path relative to the root of the projects to which this project should be cloned into. This is a unix-style relative path (i.e. uses forward slashes). The path is invalid if it is absolute or tries to escape the project root through the usage of '..'. If not specified, defaults to the project name.") + + public String getClonePath() { + return clonePath; + } + + + public void setClonePath(String clonePath) { + this.clonePath = clonePath; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentProjects git(V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit getGit() { + return git; + } + + + public void setGit(V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit git) { + this.git = git; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentProjects name(String name) { + + this.name = name; + return this; + } + + /** + * Project name + * @return name + **/ + @ApiModelProperty(required = true, value = "Project name") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentProjects zip(V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip zip) { + + this.zip = zip; + return this; + } + + /** + * Get zip + * @return zip + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip getZip() { + return zip; + } + + + public void setZip(V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip zip) { + this.zip = zip; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentProjects v1alpha2DevWorkspaceSpecTemplateParentProjects = (V1alpha2DevWorkspaceSpecTemplateParentProjects) o; + return Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateParentProjects.attributes) && + Objects.equals(this.clonePath, v1alpha2DevWorkspaceSpecTemplateParentProjects.clonePath) && + Objects.equals(this.git, v1alpha2DevWorkspaceSpecTemplateParentProjects.git) && + Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateParentProjects.name) && + Objects.equals(this.zip, v1alpha2DevWorkspaceSpecTemplateParentProjects.zip); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, clonePath, git, name, zip); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentProjects {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" clonePath: ").append(toIndentedString(clonePath)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" zip: ").append(toIndentedString(zip)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit.java new file mode 100644 index 0000000..2030c4c --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit.java @@ -0,0 +1,141 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Project's Git source + */ +@ApiModel(description = "Project's Git source") + +public class V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = null; + + + public V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit checkoutFrom(V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit putRemotesItem(String key, String remotesItem) { + if (this.remotes == null) { + this.remotes = new HashMap<>(); + } + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit v1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit = (V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit) o; + return Objects.equals(this.checkoutFrom, v1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit.checkoutFrom) && + Objects.equals(this.remotes, v1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom.java new file mode 100644 index 0000000..30b19eb --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom v1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom = (V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom) o; + return Objects.equals(this.remote, v1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom.remote) && + Objects.equals(this.revision, v1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip.java new file mode 100644 index 0000000..e67d365 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip.java @@ -0,0 +1,100 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Project's Zip source + */ +@ApiModel(description = "Project's Zip source") + +public class V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip { + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private String location; + + + public V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip location(String location) { + + this.location = location; + return this; + } + + /** + * Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH + * @return location + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH") + + public String getLocation() { + return location; + } + + + public void setLocation(String location) { + this.location = location; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip v1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip = (V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip) o; + return Objects.equals(this.location, v1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip.location); + } + + @Override + public int hashCode() { + return Objects.hash(location); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentProjectsItemsZip {\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentStarterProjects.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentStarterProjects.java new file mode 100644 index 0000000..a8330ab --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentStarterProjects.java @@ -0,0 +1,245 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceSpecTemplateParentStarterProjects + */ + +public class V1alpha2DevWorkspaceSpecTemplateParentStarterProjects { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit git; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_SUB_DIR = "subDir"; + @SerializedName(SERIALIZED_NAME_SUB_DIR) + private String subDir; + + public static final String SERIALIZED_NAME_ZIP = "zip"; + @SerializedName(SERIALIZED_NAME_ZIP) + private V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip zip; + + + public V1alpha2DevWorkspaceSpecTemplateParentStarterProjects attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentStarterProjects description(String description) { + + this.description = description; + return this; + } + + /** + * Description of a starter project + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Description of a starter project") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentStarterProjects git(V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit getGit() { + return git; + } + + + public void setGit(V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit git) { + this.git = git; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentStarterProjects name(String name) { + + this.name = name; + return this; + } + + /** + * Project name + * @return name + **/ + @ApiModelProperty(required = true, value = "Project name") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentStarterProjects subDir(String subDir) { + + this.subDir = subDir; + return this; + } + + /** + * Sub-directory from a starter project to be used as root for starter project. + * @return subDir + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Sub-directory from a starter project to be used as root for starter project.") + + public String getSubDir() { + return subDir; + } + + + public void setSubDir(String subDir) { + this.subDir = subDir; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentStarterProjects zip(V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip zip) { + + this.zip = zip; + return this; + } + + /** + * Get zip + * @return zip + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip getZip() { + return zip; + } + + + public void setZip(V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip zip) { + this.zip = zip; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentStarterProjects v1alpha2DevWorkspaceSpecTemplateParentStarterProjects = (V1alpha2DevWorkspaceSpecTemplateParentStarterProjects) o; + return Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateParentStarterProjects.attributes) && + Objects.equals(this.description, v1alpha2DevWorkspaceSpecTemplateParentStarterProjects.description) && + Objects.equals(this.git, v1alpha2DevWorkspaceSpecTemplateParentStarterProjects.git) && + Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateParentStarterProjects.name) && + Objects.equals(this.subDir, v1alpha2DevWorkspaceSpecTemplateParentStarterProjects.subDir) && + Objects.equals(this.zip, v1alpha2DevWorkspaceSpecTemplateParentStarterProjects.zip); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, description, git, name, subDir, zip); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentStarterProjects {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" subDir: ").append(toIndentedString(subDir)).append("\n"); + sb.append(" zip: ").append(toIndentedString(zip)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit.java new file mode 100644 index 0000000..3d7ab60 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit.java @@ -0,0 +1,141 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Project's Git source + */ +@ApiModel(description = "Project's Git source") + +public class V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = null; + + + public V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit checkoutFrom(V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit putRemotesItem(String key, String remotesItem) { + if (this.remotes == null) { + this.remotes = new HashMap<>(); + } + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit v1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit = (V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit) o; + return Objects.equals(this.checkoutFrom, v1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit.checkoutFrom) && + Objects.equals(this.remotes, v1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom.java new file mode 100644 index 0000000..c3029a0 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom v1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom = (V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom) o; + return Objects.equals(this.remote, v1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom.remote) && + Objects.equals(this.revision, v1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip.java new file mode 100644 index 0000000..4cbec6d --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip.java @@ -0,0 +1,100 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Project's Zip source + */ +@ApiModel(description = "Project's Zip source") + +public class V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip { + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private String location; + + + public V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip location(String location) { + + this.location = location; + return this; + } + + /** + * Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH + * @return location + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH") + + public String getLocation() { + return location; + } + + + public void setLocation(String location) { + this.location = location; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip v1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip = (V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip) o; + return Objects.equals(this.location, v1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip.location); + } + + @Override + public int hashCode() { + return Objects.hash(location); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateParentStarterProjectsItemsZip {\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateProjects.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateProjects.java new file mode 100644 index 0000000..c3048f7 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateProjects.java @@ -0,0 +1,246 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceSpecTemplateProjects + */ + +public class V1alpha2DevWorkspaceSpecTemplateProjects { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_CLONE_PATH = "clonePath"; + @SerializedName(SERIALIZED_NAME_CLONE_PATH) + private String clonePath; + + public static final String SERIALIZED_NAME_CUSTOM = "custom"; + @SerializedName(SERIALIZED_NAME_CUSTOM) + private V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom custom; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit git; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ZIP = "zip"; + @SerializedName(SERIALIZED_NAME_ZIP) + private V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip zip; + + + public V1alpha2DevWorkspaceSpecTemplateProjects attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateProjects clonePath(String clonePath) { + + this.clonePath = clonePath; + return this; + } + + /** + * Path relative to the root of the projects to which this project should be cloned into. This is a unix-style relative path (i.e. uses forward slashes). The path is invalid if it is absolute or tries to escape the project root through the usage of '..'. If not specified, defaults to the project name. + * @return clonePath + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path relative to the root of the projects to which this project should be cloned into. This is a unix-style relative path (i.e. uses forward slashes). The path is invalid if it is absolute or tries to escape the project root through the usage of '..'. If not specified, defaults to the project name.") + + public String getClonePath() { + return clonePath; + } + + + public void setClonePath(String clonePath) { + this.clonePath = clonePath; + } + + + public V1alpha2DevWorkspaceSpecTemplateProjects custom(V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom custom) { + + this.custom = custom; + return this; + } + + /** + * Get custom + * @return custom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom getCustom() { + return custom; + } + + + public void setCustom(V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom custom) { + this.custom = custom; + } + + + public V1alpha2DevWorkspaceSpecTemplateProjects git(V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit getGit() { + return git; + } + + + public void setGit(V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit git) { + this.git = git; + } + + + public V1alpha2DevWorkspaceSpecTemplateProjects name(String name) { + + this.name = name; + return this; + } + + /** + * Project name + * @return name + **/ + @ApiModelProperty(required = true, value = "Project name") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateProjects zip(V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip zip) { + + this.zip = zip; + return this; + } + + /** + * Get zip + * @return zip + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip getZip() { + return zip; + } + + + public void setZip(V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip zip) { + this.zip = zip; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateProjects v1alpha2DevWorkspaceSpecTemplateProjects = (V1alpha2DevWorkspaceSpecTemplateProjects) o; + return Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateProjects.attributes) && + Objects.equals(this.clonePath, v1alpha2DevWorkspaceSpecTemplateProjects.clonePath) && + Objects.equals(this.custom, v1alpha2DevWorkspaceSpecTemplateProjects.custom) && + Objects.equals(this.git, v1alpha2DevWorkspaceSpecTemplateProjects.git) && + Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateProjects.name) && + Objects.equals(this.zip, v1alpha2DevWorkspaceSpecTemplateProjects.zip); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, clonePath, custom, git, name, zip); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateProjects {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" clonePath: ").append(toIndentedString(clonePath)).append("\n"); + sb.append(" custom: ").append(toIndentedString(custom)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" zip: ").append(toIndentedString(zip)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom.java new file mode 100644 index 0000000..252f76b --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom.java @@ -0,0 +1,127 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Project's Custom source + */ +@ApiModel(description = "Project's Custom source") + +public class V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom { + public static final String SERIALIZED_NAME_EMBEDDED_RESOURCE = "embeddedResource"; + @SerializedName(SERIALIZED_NAME_EMBEDDED_RESOURCE) + private Object embeddedResource; + + public static final String SERIALIZED_NAME_PROJECT_SOURCE_CLASS = "projectSourceClass"; + @SerializedName(SERIALIZED_NAME_PROJECT_SOURCE_CLASS) + private String projectSourceClass; + + + public V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom embeddedResource(Object embeddedResource) { + + this.embeddedResource = embeddedResource; + return this; + } + + /** + * Get embeddedResource + * @return embeddedResource + **/ + @ApiModelProperty(required = true, value = "") + + public Object getEmbeddedResource() { + return embeddedResource; + } + + + public void setEmbeddedResource(Object embeddedResource) { + this.embeddedResource = embeddedResource; + } + + + public V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom projectSourceClass(String projectSourceClass) { + + this.projectSourceClass = projectSourceClass; + return this; + } + + /** + * Get projectSourceClass + * @return projectSourceClass + **/ + @ApiModelProperty(required = true, value = "") + + public String getProjectSourceClass() { + return projectSourceClass; + } + + + public void setProjectSourceClass(String projectSourceClass) { + this.projectSourceClass = projectSourceClass; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom v1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom = (V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom) o; + return Objects.equals(this.embeddedResource, v1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom.embeddedResource) && + Objects.equals(this.projectSourceClass, v1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom.projectSourceClass); + } + + @Override + public int hashCode() { + return Objects.hash(embeddedResource, projectSourceClass); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateProjectsItemsCustom {\n"); + sb.append(" embeddedResource: ").append(toIndentedString(embeddedResource)).append("\n"); + sb.append(" projectSourceClass: ").append(toIndentedString(projectSourceClass)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit.java new file mode 100644 index 0000000..2f5d002 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit.java @@ -0,0 +1,137 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Project's Git source + */ +@ApiModel(description = "Project's Git source") + +public class V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = new HashMap<>(); + + + public V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit checkoutFrom(V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit putRemotesItem(String key, String remotesItem) { + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @ApiModelProperty(required = true, value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit v1alpha2DevWorkspaceSpecTemplateProjectsItemsGit = (V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit) o; + return Objects.equals(this.checkoutFrom, v1alpha2DevWorkspaceSpecTemplateProjectsItemsGit.checkoutFrom) && + Objects.equals(this.remotes, v1alpha2DevWorkspaceSpecTemplateProjectsItemsGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateProjectsItemsGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom.java new file mode 100644 index 0000000..1cf0c93 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom v1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom = (V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom) o; + return Objects.equals(this.remote, v1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom.remote) && + Objects.equals(this.revision, v1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateProjectsItemsGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip.java new file mode 100644 index 0000000..23d0694 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip.java @@ -0,0 +1,100 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Project's Zip source + */ +@ApiModel(description = "Project's Zip source") + +public class V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip { + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private String location; + + + public V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip location(String location) { + + this.location = location; + return this; + } + + /** + * Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH + * @return location + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH") + + public String getLocation() { + return location; + } + + + public void setLocation(String location) { + this.location = location; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip v1alpha2DevWorkspaceSpecTemplateProjectsItemsZip = (V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip) o; + return Objects.equals(this.location, v1alpha2DevWorkspaceSpecTemplateProjectsItemsZip.location); + } + + @Override + public int hashCode() { + return Objects.hash(location); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateProjectsItemsZip {\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateStarterProjects.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateStarterProjects.java new file mode 100644 index 0000000..f90a51e --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateStarterProjects.java @@ -0,0 +1,275 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceSpecTemplateStarterProjects + */ + +public class V1alpha2DevWorkspaceSpecTemplateStarterProjects { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_CUSTOM = "custom"; + @SerializedName(SERIALIZED_NAME_CUSTOM) + private V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom custom; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit git; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_SUB_DIR = "subDir"; + @SerializedName(SERIALIZED_NAME_SUB_DIR) + private String subDir; + + public static final String SERIALIZED_NAME_ZIP = "zip"; + @SerializedName(SERIALIZED_NAME_ZIP) + private V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip zip; + + + public V1alpha2DevWorkspaceSpecTemplateStarterProjects attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceSpecTemplateStarterProjects custom(V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom custom) { + + this.custom = custom; + return this; + } + + /** + * Get custom + * @return custom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom getCustom() { + return custom; + } + + + public void setCustom(V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom custom) { + this.custom = custom; + } + + + public V1alpha2DevWorkspaceSpecTemplateStarterProjects description(String description) { + + this.description = description; + return this; + } + + /** + * Description of a starter project + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Description of a starter project") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public V1alpha2DevWorkspaceSpecTemplateStarterProjects git(V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit getGit() { + return git; + } + + + public void setGit(V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit git) { + this.git = git; + } + + + public V1alpha2DevWorkspaceSpecTemplateStarterProjects name(String name) { + + this.name = name; + return this; + } + + /** + * Project name + * @return name + **/ + @ApiModelProperty(required = true, value = "Project name") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceSpecTemplateStarterProjects subDir(String subDir) { + + this.subDir = subDir; + return this; + } + + /** + * Sub-directory from a starter project to be used as root for starter project. + * @return subDir + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Sub-directory from a starter project to be used as root for starter project.") + + public String getSubDir() { + return subDir; + } + + + public void setSubDir(String subDir) { + this.subDir = subDir; + } + + + public V1alpha2DevWorkspaceSpecTemplateStarterProjects zip(V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip zip) { + + this.zip = zip; + return this; + } + + /** + * Get zip + * @return zip + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip getZip() { + return zip; + } + + + public void setZip(V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip zip) { + this.zip = zip; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateStarterProjects v1alpha2DevWorkspaceSpecTemplateStarterProjects = (V1alpha2DevWorkspaceSpecTemplateStarterProjects) o; + return Objects.equals(this.attributes, v1alpha2DevWorkspaceSpecTemplateStarterProjects.attributes) && + Objects.equals(this.custom, v1alpha2DevWorkspaceSpecTemplateStarterProjects.custom) && + Objects.equals(this.description, v1alpha2DevWorkspaceSpecTemplateStarterProjects.description) && + Objects.equals(this.git, v1alpha2DevWorkspaceSpecTemplateStarterProjects.git) && + Objects.equals(this.name, v1alpha2DevWorkspaceSpecTemplateStarterProjects.name) && + Objects.equals(this.subDir, v1alpha2DevWorkspaceSpecTemplateStarterProjects.subDir) && + Objects.equals(this.zip, v1alpha2DevWorkspaceSpecTemplateStarterProjects.zip); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, custom, description, git, name, subDir, zip); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateStarterProjects {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" custom: ").append(toIndentedString(custom)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" subDir: ").append(toIndentedString(subDir)).append("\n"); + sb.append(" zip: ").append(toIndentedString(zip)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom.java new file mode 100644 index 0000000..61ed104 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom.java @@ -0,0 +1,127 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Project's Custom source + */ +@ApiModel(description = "Project's Custom source") + +public class V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom { + public static final String SERIALIZED_NAME_EMBEDDED_RESOURCE = "embeddedResource"; + @SerializedName(SERIALIZED_NAME_EMBEDDED_RESOURCE) + private Object embeddedResource; + + public static final String SERIALIZED_NAME_PROJECT_SOURCE_CLASS = "projectSourceClass"; + @SerializedName(SERIALIZED_NAME_PROJECT_SOURCE_CLASS) + private String projectSourceClass; + + + public V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom embeddedResource(Object embeddedResource) { + + this.embeddedResource = embeddedResource; + return this; + } + + /** + * Get embeddedResource + * @return embeddedResource + **/ + @ApiModelProperty(required = true, value = "") + + public Object getEmbeddedResource() { + return embeddedResource; + } + + + public void setEmbeddedResource(Object embeddedResource) { + this.embeddedResource = embeddedResource; + } + + + public V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom projectSourceClass(String projectSourceClass) { + + this.projectSourceClass = projectSourceClass; + return this; + } + + /** + * Get projectSourceClass + * @return projectSourceClass + **/ + @ApiModelProperty(required = true, value = "") + + public String getProjectSourceClass() { + return projectSourceClass; + } + + + public void setProjectSourceClass(String projectSourceClass) { + this.projectSourceClass = projectSourceClass; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom v1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom = (V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom) o; + return Objects.equals(this.embeddedResource, v1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom.embeddedResource) && + Objects.equals(this.projectSourceClass, v1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom.projectSourceClass); + } + + @Override + public int hashCode() { + return Objects.hash(embeddedResource, projectSourceClass); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsCustom {\n"); + sb.append(" embeddedResource: ").append(toIndentedString(embeddedResource)).append("\n"); + sb.append(" projectSourceClass: ").append(toIndentedString(projectSourceClass)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit.java new file mode 100644 index 0000000..ae8a681 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit.java @@ -0,0 +1,137 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Project's Git source + */ +@ApiModel(description = "Project's Git source") + +public class V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = new HashMap<>(); + + + public V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit checkoutFrom(V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit putRemotesItem(String key, String remotesItem) { + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @ApiModelProperty(required = true, value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit v1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit = (V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit) o; + return Objects.equals(this.checkoutFrom, v1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit.checkoutFrom) && + Objects.equals(this.remotes, v1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom.java new file mode 100644 index 0000000..f1d5dd7 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom v1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom = (V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom) o; + return Objects.equals(this.remote, v1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom.remote) && + Objects.equals(this.revision, v1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip.java new file mode 100644 index 0000000..95e63c5 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip.java @@ -0,0 +1,100 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Project's Zip source + */ +@ApiModel(description = "Project's Zip source") + +public class V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip { + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private String location; + + + public V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip location(String location) { + + this.location = location; + return this; + } + + /** + * Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH + * @return location + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH") + + public String getLocation() { + return location; + } + + + public void setLocation(String location) { + this.location = location; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip v1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip = (V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip) o; + return Objects.equals(this.location, v1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip.location); + } + + @Override + public int hashCode() { + return Objects.hash(location); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceSpecTemplateStarterProjectsItemsZip {\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceStatus.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceStatus.java new file mode 100644 index 0000000..c8903ba --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceStatus.java @@ -0,0 +1,226 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceStatusConditions; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * DevWorkspaceStatus defines the observed state of DevWorkspace + */ +@ApiModel(description = "DevWorkspaceStatus defines the observed state of DevWorkspace") + +public class V1alpha2DevWorkspaceStatus { + public static final String SERIALIZED_NAME_CONDITIONS = "conditions"; + @SerializedName(SERIALIZED_NAME_CONDITIONS) + private List conditions = null; + + public static final String SERIALIZED_NAME_DEVWORKSPACE_ID = "devworkspaceId"; + @SerializedName(SERIALIZED_NAME_DEVWORKSPACE_ID) + private String devworkspaceId; + + public static final String SERIALIZED_NAME_MAIN_URL = "mainUrl"; + @SerializedName(SERIALIZED_NAME_MAIN_URL) + private String mainUrl; + + public static final String SERIALIZED_NAME_MESSAGE = "message"; + @SerializedName(SERIALIZED_NAME_MESSAGE) + private String message; + + public static final String SERIALIZED_NAME_PHASE = "phase"; + @SerializedName(SERIALIZED_NAME_PHASE) + private String phase; + + + public V1alpha2DevWorkspaceStatus conditions(List conditions) { + + this.conditions = conditions; + return this; + } + + public V1alpha2DevWorkspaceStatus addConditionsItem(V1alpha2DevWorkspaceStatusConditions conditionsItem) { + if (this.conditions == null) { + this.conditions = new ArrayList<>(); + } + this.conditions.add(conditionsItem); + return this; + } + + /** + * Conditions represent the latest available observations of an object's state + * @return conditions + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Conditions represent the latest available observations of an object's state") + + public List getConditions() { + return conditions; + } + + + public void setConditions(List conditions) { + this.conditions = conditions; + } + + + public V1alpha2DevWorkspaceStatus devworkspaceId(String devworkspaceId) { + + this.devworkspaceId = devworkspaceId; + return this; + } + + /** + * Id of the DevWorkspace + * @return devworkspaceId + **/ + @ApiModelProperty(required = true, value = "Id of the DevWorkspace") + + public String getDevworkspaceId() { + return devworkspaceId; + } + + + public void setDevworkspaceId(String devworkspaceId) { + this.devworkspaceId = devworkspaceId; + } + + + public V1alpha2DevWorkspaceStatus mainUrl(String mainUrl) { + + this.mainUrl = mainUrl; + return this; + } + + /** + * Main URL for this DevWorkspace + * @return mainUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Main URL for this DevWorkspace") + + public String getMainUrl() { + return mainUrl; + } + + + public void setMainUrl(String mainUrl) { + this.mainUrl = mainUrl; + } + + + public V1alpha2DevWorkspaceStatus message(String message) { + + this.message = message; + return this; + } + + /** + * Message is a short user-readable message giving additional information about an object's state + * @return message + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Message is a short user-readable message giving additional information about an object's state") + + public String getMessage() { + return message; + } + + + public void setMessage(String message) { + this.message = message; + } + + + public V1alpha2DevWorkspaceStatus phase(String phase) { + + this.phase = phase; + return this; + } + + /** + * Get phase + * @return phase + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getPhase() { + return phase; + } + + + public void setPhase(String phase) { + this.phase = phase; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceStatus v1alpha2DevWorkspaceStatus = (V1alpha2DevWorkspaceStatus) o; + return Objects.equals(this.conditions, v1alpha2DevWorkspaceStatus.conditions) && + Objects.equals(this.devworkspaceId, v1alpha2DevWorkspaceStatus.devworkspaceId) && + Objects.equals(this.mainUrl, v1alpha2DevWorkspaceStatus.mainUrl) && + Objects.equals(this.message, v1alpha2DevWorkspaceStatus.message) && + Objects.equals(this.phase, v1alpha2DevWorkspaceStatus.phase); + } + + @Override + public int hashCode() { + return Objects.hash(conditions, devworkspaceId, mainUrl, message, phase); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceStatus {\n"); + sb.append(" conditions: ").append(toIndentedString(conditions)).append("\n"); + sb.append(" devworkspaceId: ").append(toIndentedString(devworkspaceId)).append("\n"); + sb.append(" mainUrl: ").append(toIndentedString(mainUrl)).append("\n"); + sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append(" phase: ").append(toIndentedString(phase)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceStatusConditions.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceStatusConditions.java new file mode 100644 index 0000000..da5f298 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceStatusConditions.java @@ -0,0 +1,215 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * DevWorkspaceCondition contains details for the current condition of this devworkspace. + */ +@ApiModel(description = "DevWorkspaceCondition contains details for the current condition of this devworkspace.") + +public class V1alpha2DevWorkspaceStatusConditions { + public static final String SERIALIZED_NAME_LAST_TRANSITION_TIME = "lastTransitionTime"; + @SerializedName(SERIALIZED_NAME_LAST_TRANSITION_TIME) + private OffsetDateTime lastTransitionTime; + + public static final String SERIALIZED_NAME_MESSAGE = "message"; + @SerializedName(SERIALIZED_NAME_MESSAGE) + private String message; + + public static final String SERIALIZED_NAME_REASON = "reason"; + @SerializedName(SERIALIZED_NAME_REASON) + private String reason; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + private String status; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + + + public V1alpha2DevWorkspaceStatusConditions lastTransitionTime(OffsetDateTime lastTransitionTime) { + + this.lastTransitionTime = lastTransitionTime; + return this; + } + + /** + * Last time the condition transitioned from one status to another. + * @return lastTransitionTime + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Last time the condition transitioned from one status to another.") + + public OffsetDateTime getLastTransitionTime() { + return lastTransitionTime; + } + + + public void setLastTransitionTime(OffsetDateTime lastTransitionTime) { + this.lastTransitionTime = lastTransitionTime; + } + + + public V1alpha2DevWorkspaceStatusConditions message(String message) { + + this.message = message; + return this; + } + + /** + * Human-readable message indicating details about last transition. + * @return message + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Human-readable message indicating details about last transition.") + + public String getMessage() { + return message; + } + + + public void setMessage(String message) { + this.message = message; + } + + + public V1alpha2DevWorkspaceStatusConditions reason(String reason) { + + this.reason = reason; + return this; + } + + /** + * Unique, one-word, CamelCase reason for the condition's last transition. + * @return reason + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Unique, one-word, CamelCase reason for the condition's last transition.") + + public String getReason() { + return reason; + } + + + public void setReason(String reason) { + this.reason = reason; + } + + + public V1alpha2DevWorkspaceStatusConditions status(String status) { + + this.status = status; + return this; + } + + /** + * Phase is the status of the condition. Can be True, False, Unknown. + * @return status + **/ + @ApiModelProperty(required = true, value = "Phase is the status of the condition. Can be True, False, Unknown.") + + public String getStatus() { + return status; + } + + + public void setStatus(String status) { + this.status = status; + } + + + public V1alpha2DevWorkspaceStatusConditions type(String type) { + + this.type = type; + return this; + } + + /** + * Type is the type of the condition. + * @return type + **/ + @ApiModelProperty(required = true, value = "Type is the type of the condition.") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceStatusConditions v1alpha2DevWorkspaceStatusConditions = (V1alpha2DevWorkspaceStatusConditions) o; + return Objects.equals(this.lastTransitionTime, v1alpha2DevWorkspaceStatusConditions.lastTransitionTime) && + Objects.equals(this.message, v1alpha2DevWorkspaceStatusConditions.message) && + Objects.equals(this.reason, v1alpha2DevWorkspaceStatusConditions.reason) && + Objects.equals(this.status, v1alpha2DevWorkspaceStatusConditions.status) && + Objects.equals(this.type, v1alpha2DevWorkspaceStatusConditions.type); + } + + @Override + public int hashCode() { + return Objects.hash(lastTransitionTime, message, reason, status, type); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceStatusConditions {\n"); + sb.append(" lastTransitionTime: ").append(toIndentedString(lastTransitionTime)).append("\n"); + sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append(" reason: ").append(toIndentedString(reason)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplate.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplate.java new file mode 100644 index 0000000..dfede4a --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplate.java @@ -0,0 +1,189 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateMetadata; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpec; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * DevWorkspaceTemplate is the Schema for the devworkspacetemplates API + */ +@ApiModel(description = "DevWorkspaceTemplate is the Schema for the devworkspacetemplates API") + +public class V1alpha2DevWorkspaceTemplate { + public static final String SERIALIZED_NAME_API_VERSION = "apiVersion"; + @SerializedName(SERIALIZED_NAME_API_VERSION) + private String apiVersion; + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private String kind; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private V1alpha2DevWorkspaceTemplateMetadata metadata; + + public static final String SERIALIZED_NAME_SPEC = "spec"; + @SerializedName(SERIALIZED_NAME_SPEC) + private V1alpha2DevWorkspaceTemplateSpec spec; + + + public V1alpha2DevWorkspaceTemplate apiVersion(String apiVersion) { + + this.apiVersion = apiVersion; + return this; + } + + /** + * 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 + * @return apiVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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") + + public String getApiVersion() { + return apiVersion; + } + + + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + + public V1alpha2DevWorkspaceTemplate kind(String kind) { + + this.kind = kind; + return this; + } + + /** + * 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 + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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") + + public String getKind() { + return kind; + } + + + public void setKind(String kind) { + this.kind = kind; + } + + + public V1alpha2DevWorkspaceTemplate metadata(V1alpha2DevWorkspaceTemplateMetadata metadata) { + + this.metadata = metadata; + return this; + } + + /** + * Get metadata + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateMetadata getMetadata() { + return metadata; + } + + + public void setMetadata(V1alpha2DevWorkspaceTemplateMetadata metadata) { + this.metadata = metadata; + } + + + public V1alpha2DevWorkspaceTemplate spec(V1alpha2DevWorkspaceTemplateSpec spec) { + + this.spec = spec; + return this; + } + + /** + * Get spec + * @return spec + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpec getSpec() { + return spec; + } + + + public void setSpec(V1alpha2DevWorkspaceTemplateSpec spec) { + this.spec = spec; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplate v1alpha2DevWorkspaceTemplate = (V1alpha2DevWorkspaceTemplate) o; + return Objects.equals(this.apiVersion, v1alpha2DevWorkspaceTemplate.apiVersion) && + Objects.equals(this.kind, v1alpha2DevWorkspaceTemplate.kind) && + Objects.equals(this.metadata, v1alpha2DevWorkspaceTemplate.metadata) && + Objects.equals(this.spec, v1alpha2DevWorkspaceTemplate.spec); + } + + @Override + public int hashCode() { + return Objects.hash(apiVersion, kind, metadata, spec); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplate {\n"); + sb.append(" apiVersion: ").append(toIndentedString(apiVersion)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" spec: ").append(toIndentedString(spec)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateMetadata.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateMetadata.java new file mode 100644 index 0000000..7787c3d --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateMetadata.java @@ -0,0 +1,582 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateMetadataManagedFields; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateMetadataOwnerReferences; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. + */ +@ApiModel(description = "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.") + +public class V1alpha2DevWorkspaceTemplateMetadata { + public static final String SERIALIZED_NAME_ANNOTATIONS = "annotations"; + @SerializedName(SERIALIZED_NAME_ANNOTATIONS) + private Map annotations = null; + + public static final String SERIALIZED_NAME_CLUSTER_NAME = "clusterName"; + @SerializedName(SERIALIZED_NAME_CLUSTER_NAME) + private String clusterName; + + public static final String SERIALIZED_NAME_CREATION_TIMESTAMP = "creationTimestamp"; + @SerializedName(SERIALIZED_NAME_CREATION_TIMESTAMP) + private OffsetDateTime creationTimestamp; + + public static final String SERIALIZED_NAME_DELETION_GRACE_PERIOD_SECONDS = "deletionGracePeriodSeconds"; + @SerializedName(SERIALIZED_NAME_DELETION_GRACE_PERIOD_SECONDS) + private Long deletionGracePeriodSeconds; + + public static final String SERIALIZED_NAME_DELETION_TIMESTAMP = "deletionTimestamp"; + @SerializedName(SERIALIZED_NAME_DELETION_TIMESTAMP) + private OffsetDateTime deletionTimestamp; + + public static final String SERIALIZED_NAME_FINALIZERS = "finalizers"; + @SerializedName(SERIALIZED_NAME_FINALIZERS) + private List finalizers = null; + + public static final String SERIALIZED_NAME_GENERATE_NAME = "generateName"; + @SerializedName(SERIALIZED_NAME_GENERATE_NAME) + private String generateName; + + public static final String SERIALIZED_NAME_GENERATION = "generation"; + @SerializedName(SERIALIZED_NAME_GENERATION) + private Long generation; + + public static final String SERIALIZED_NAME_LABELS = "labels"; + @SerializedName(SERIALIZED_NAME_LABELS) + private Map labels = null; + + public static final String SERIALIZED_NAME_MANAGED_FIELDS = "managedFields"; + @SerializedName(SERIALIZED_NAME_MANAGED_FIELDS) + private List managedFields = null; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_NAMESPACE = "namespace"; + @SerializedName(SERIALIZED_NAME_NAMESPACE) + private String namespace; + + public static final String SERIALIZED_NAME_OWNER_REFERENCES = "ownerReferences"; + @SerializedName(SERIALIZED_NAME_OWNER_REFERENCES) + private List ownerReferences = null; + + public static final String SERIALIZED_NAME_RESOURCE_VERSION = "resourceVersion"; + @SerializedName(SERIALIZED_NAME_RESOURCE_VERSION) + private String resourceVersion; + + public static final String SERIALIZED_NAME_SELF_LINK = "selfLink"; + @SerializedName(SERIALIZED_NAME_SELF_LINK) + private String selfLink; + + public static final String SERIALIZED_NAME_UID = "uid"; + @SerializedName(SERIALIZED_NAME_UID) + private String uid; + + + public V1alpha2DevWorkspaceTemplateMetadata annotations(Map annotations) { + + this.annotations = annotations; + return this; + } + + public V1alpha2DevWorkspaceTemplateMetadata putAnnotationsItem(String key, String annotationsItem) { + if (this.annotations == null) { + this.annotations = new HashMap<>(); + } + this.annotations.put(key, annotationsItem); + return this; + } + + /** + * 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 + * @return annotations + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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") + + public Map getAnnotations() { + return annotations; + } + + + public void setAnnotations(Map annotations) { + this.annotations = annotations; + } + + + public V1alpha2DevWorkspaceTemplateMetadata clusterName(String clusterName) { + + this.clusterName = clusterName; + return this; + } + + /** + * 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. + * @return clusterName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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.") + + public String getClusterName() { + return clusterName; + } + + + public void setClusterName(String clusterName) { + this.clusterName = clusterName; + } + + + public V1alpha2DevWorkspaceTemplateMetadata creationTimestamp(OffsetDateTime creationTimestamp) { + + this.creationTimestamp = creationTimestamp; + return this; + } + + /** + * CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + * @return creationTimestamp + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata") + + public OffsetDateTime getCreationTimestamp() { + return creationTimestamp; + } + + + public void setCreationTimestamp(OffsetDateTime creationTimestamp) { + this.creationTimestamp = creationTimestamp; + } + + + public V1alpha2DevWorkspaceTemplateMetadata deletionGracePeriodSeconds(Long deletionGracePeriodSeconds) { + + this.deletionGracePeriodSeconds = deletionGracePeriodSeconds; + return this; + } + + /** + * 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. + * @return deletionGracePeriodSeconds + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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.") + + public Long getDeletionGracePeriodSeconds() { + return deletionGracePeriodSeconds; + } + + + public void setDeletionGracePeriodSeconds(Long deletionGracePeriodSeconds) { + this.deletionGracePeriodSeconds = deletionGracePeriodSeconds; + } + + + public V1alpha2DevWorkspaceTemplateMetadata deletionTimestamp(OffsetDateTime deletionTimestamp) { + + this.deletionTimestamp = deletionTimestamp; + return this; + } + + /** + * DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + * @return deletionTimestamp + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata") + + public OffsetDateTime getDeletionTimestamp() { + return deletionTimestamp; + } + + + public void setDeletionTimestamp(OffsetDateTime deletionTimestamp) { + this.deletionTimestamp = deletionTimestamp; + } + + + public V1alpha2DevWorkspaceTemplateMetadata finalizers(List finalizers) { + + this.finalizers = finalizers; + return this; + } + + public V1alpha2DevWorkspaceTemplateMetadata addFinalizersItem(String finalizersItem) { + if (this.finalizers == null) { + this.finalizers = new ArrayList<>(); + } + this.finalizers.add(finalizersItem); + return this; + } + + /** + * 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. + * @return finalizers + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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.") + + public List getFinalizers() { + return finalizers; + } + + + public void setFinalizers(List finalizers) { + this.finalizers = finalizers; + } + + + public V1alpha2DevWorkspaceTemplateMetadata generateName(String generateName) { + + this.generateName = generateName; + return this; + } + + /** + * GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency + * @return generateName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency") + + public String getGenerateName() { + return generateName; + } + + + public void setGenerateName(String generateName) { + this.generateName = generateName; + } + + + public V1alpha2DevWorkspaceTemplateMetadata generation(Long generation) { + + this.generation = generation; + return this; + } + + /** + * A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. + * @return generation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.") + + public Long getGeneration() { + return generation; + } + + + public void setGeneration(Long generation) { + this.generation = generation; + } + + + public V1alpha2DevWorkspaceTemplateMetadata labels(Map labels) { + + this.labels = labels; + return this; + } + + public V1alpha2DevWorkspaceTemplateMetadata putLabelsItem(String key, String labelsItem) { + if (this.labels == null) { + this.labels = new HashMap<>(); + } + this.labels.put(key, labelsItem); + return this; + } + + /** + * 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 + * @return labels + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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") + + public Map getLabels() { + return labels; + } + + + public void setLabels(Map labels) { + this.labels = labels; + } + + + public V1alpha2DevWorkspaceTemplateMetadata managedFields(List managedFields) { + + this.managedFields = managedFields; + return this; + } + + public V1alpha2DevWorkspaceTemplateMetadata addManagedFieldsItem(V1alpha2DevWorkspaceTemplateMetadataManagedFields managedFieldsItem) { + if (this.managedFields == null) { + this.managedFields = new ArrayList<>(); + } + this.managedFields.add(managedFieldsItem); + return this; + } + + /** + * 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. + * @return managedFields + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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.") + + public List getManagedFields() { + return managedFields; + } + + + public void setManagedFields(List managedFields) { + this.managedFields = managedFields; + } + + + public V1alpha2DevWorkspaceTemplateMetadata name(String name) { + + this.name = name; + return this; + } + + /** + * 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 + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateMetadata namespace(String namespace) { + + this.namespace = namespace; + return this; + } + + /** + * Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces + * @return namespace + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces") + + public String getNamespace() { + return namespace; + } + + + public void setNamespace(String namespace) { + this.namespace = namespace; + } + + + public V1alpha2DevWorkspaceTemplateMetadata ownerReferences(List ownerReferences) { + + this.ownerReferences = ownerReferences; + return this; + } + + public V1alpha2DevWorkspaceTemplateMetadata addOwnerReferencesItem(V1alpha2DevWorkspaceTemplateMetadataOwnerReferences ownerReferencesItem) { + if (this.ownerReferences == null) { + this.ownerReferences = new ArrayList<>(); + } + this.ownerReferences.add(ownerReferencesItem); + return this; + } + + /** + * 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. + * @return ownerReferences + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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.") + + public List getOwnerReferences() { + return ownerReferences; + } + + + public void setOwnerReferences(List ownerReferences) { + this.ownerReferences = ownerReferences; + } + + + public V1alpha2DevWorkspaceTemplateMetadata resourceVersion(String resourceVersion) { + + this.resourceVersion = resourceVersion; + return this; + } + + /** + * An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency + * @return resourceVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency") + + public String getResourceVersion() { + return resourceVersion; + } + + + public void setResourceVersion(String resourceVersion) { + this.resourceVersion = resourceVersion; + } + + + public V1alpha2DevWorkspaceTemplateMetadata selfLink(String selfLink) { + + this.selfLink = selfLink; + return this; + } + + /** + * SelfLink is a URL representing this object. Populated by the system. Read-only. DEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release. + * @return selfLink + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "SelfLink is a URL representing this object. Populated by the system. Read-only. DEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.") + + public String getSelfLink() { + return selfLink; + } + + + public void setSelfLink(String selfLink) { + this.selfLink = selfLink; + } + + + public V1alpha2DevWorkspaceTemplateMetadata uid(String uid) { + + this.uid = uid; + return this; + } + + /** + * UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids + * @return uid + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids") + + public String getUid() { + return uid; + } + + + public void setUid(String uid) { + this.uid = uid; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateMetadata v1alpha2DevWorkspaceTemplateMetadata = (V1alpha2DevWorkspaceTemplateMetadata) o; + return Objects.equals(this.annotations, v1alpha2DevWorkspaceTemplateMetadata.annotations) && + Objects.equals(this.clusterName, v1alpha2DevWorkspaceTemplateMetadata.clusterName) && + Objects.equals(this.creationTimestamp, v1alpha2DevWorkspaceTemplateMetadata.creationTimestamp) && + Objects.equals(this.deletionGracePeriodSeconds, v1alpha2DevWorkspaceTemplateMetadata.deletionGracePeriodSeconds) && + Objects.equals(this.deletionTimestamp, v1alpha2DevWorkspaceTemplateMetadata.deletionTimestamp) && + Objects.equals(this.finalizers, v1alpha2DevWorkspaceTemplateMetadata.finalizers) && + Objects.equals(this.generateName, v1alpha2DevWorkspaceTemplateMetadata.generateName) && + Objects.equals(this.generation, v1alpha2DevWorkspaceTemplateMetadata.generation) && + Objects.equals(this.labels, v1alpha2DevWorkspaceTemplateMetadata.labels) && + Objects.equals(this.managedFields, v1alpha2DevWorkspaceTemplateMetadata.managedFields) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateMetadata.name) && + Objects.equals(this.namespace, v1alpha2DevWorkspaceTemplateMetadata.namespace) && + Objects.equals(this.ownerReferences, v1alpha2DevWorkspaceTemplateMetadata.ownerReferences) && + Objects.equals(this.resourceVersion, v1alpha2DevWorkspaceTemplateMetadata.resourceVersion) && + Objects.equals(this.selfLink, v1alpha2DevWorkspaceTemplateMetadata.selfLink) && + Objects.equals(this.uid, v1alpha2DevWorkspaceTemplateMetadata.uid); + } + + @Override + public int hashCode() { + return Objects.hash(annotations, clusterName, creationTimestamp, deletionGracePeriodSeconds, deletionTimestamp, finalizers, generateName, generation, labels, managedFields, name, namespace, ownerReferences, resourceVersion, selfLink, uid); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateMetadata {\n"); + sb.append(" annotations: ").append(toIndentedString(annotations)).append("\n"); + sb.append(" clusterName: ").append(toIndentedString(clusterName)).append("\n"); + sb.append(" creationTimestamp: ").append(toIndentedString(creationTimestamp)).append("\n"); + sb.append(" deletionGracePeriodSeconds: ").append(toIndentedString(deletionGracePeriodSeconds)).append("\n"); + sb.append(" deletionTimestamp: ").append(toIndentedString(deletionTimestamp)).append("\n"); + sb.append(" finalizers: ").append(toIndentedString(finalizers)).append("\n"); + sb.append(" generateName: ").append(toIndentedString(generateName)).append("\n"); + sb.append(" generation: ").append(toIndentedString(generation)).append("\n"); + sb.append(" labels: ").append(toIndentedString(labels)).append("\n"); + sb.append(" managedFields: ").append(toIndentedString(managedFields)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" namespace: ").append(toIndentedString(namespace)).append("\n"); + sb.append(" ownerReferences: ").append(toIndentedString(ownerReferences)).append("\n"); + sb.append(" resourceVersion: ").append(toIndentedString(resourceVersion)).append("\n"); + sb.append(" selfLink: ").append(toIndentedString(selfLink)).append("\n"); + sb.append(" uid: ").append(toIndentedString(uid)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateMetadataManagedFields.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateMetadataManagedFields.java new file mode 100644 index 0000000..220c6cd --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateMetadataManagedFields.java @@ -0,0 +1,246 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to. + */ +@ApiModel(description = "ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.") + +public class V1alpha2DevWorkspaceTemplateMetadataManagedFields { + public static final String SERIALIZED_NAME_API_VERSION = "apiVersion"; + @SerializedName(SERIALIZED_NAME_API_VERSION) + private String apiVersion; + + public static final String SERIALIZED_NAME_FIELDS_TYPE = "fieldsType"; + @SerializedName(SERIALIZED_NAME_FIELDS_TYPE) + private String fieldsType; + + public static final String SERIALIZED_NAME_FIELDS_V1 = "fieldsV1"; + @SerializedName(SERIALIZED_NAME_FIELDS_V1) + private Object fieldsV1; + + public static final String SERIALIZED_NAME_MANAGER = "manager"; + @SerializedName(SERIALIZED_NAME_MANAGER) + private String manager; + + public static final String SERIALIZED_NAME_OPERATION = "operation"; + @SerializedName(SERIALIZED_NAME_OPERATION) + private String operation; + + public static final String SERIALIZED_NAME_TIME = "time"; + @SerializedName(SERIALIZED_NAME_TIME) + private OffsetDateTime time; + + + public V1alpha2DevWorkspaceTemplateMetadataManagedFields apiVersion(String apiVersion) { + + this.apiVersion = apiVersion; + return this; + } + + /** + * 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. + * @return apiVersion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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.") + + public String getApiVersion() { + return apiVersion; + } + + + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + + public V1alpha2DevWorkspaceTemplateMetadataManagedFields fieldsType(String fieldsType) { + + this.fieldsType = fieldsType; + return this; + } + + /** + * FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: \"FieldsV1\" + * @return fieldsType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: \"FieldsV1\"") + + public String getFieldsType() { + return fieldsType; + } + + + public void setFieldsType(String fieldsType) { + this.fieldsType = fieldsType; + } + + + public V1alpha2DevWorkspaceTemplateMetadataManagedFields fieldsV1(Object fieldsV1) { + + this.fieldsV1 = fieldsV1; + return this; + } + + /** + * FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type. + * @return fieldsV1 + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type.") + + public Object getFieldsV1() { + return fieldsV1; + } + + + public void setFieldsV1(Object fieldsV1) { + this.fieldsV1 = fieldsV1; + } + + + public V1alpha2DevWorkspaceTemplateMetadataManagedFields manager(String manager) { + + this.manager = manager; + return this; + } + + /** + * Manager is an identifier of the workflow managing these fields. + * @return manager + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Manager is an identifier of the workflow managing these fields.") + + public String getManager() { + return manager; + } + + + public void setManager(String manager) { + this.manager = manager; + } + + + public V1alpha2DevWorkspaceTemplateMetadataManagedFields operation(String operation) { + + this.operation = operation; + return this; + } + + /** + * Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'. + * @return operation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'.") + + public String getOperation() { + return operation; + } + + + public void setOperation(String operation) { + this.operation = operation; + } + + + public V1alpha2DevWorkspaceTemplateMetadataManagedFields time(OffsetDateTime time) { + + this.time = time; + return this; + } + + /** + * Time is timestamp of when these fields were set. It should always be empty if Operation is 'Apply' + * @return time + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Time is timestamp of when these fields were set. It should always be empty if Operation is 'Apply'") + + public OffsetDateTime getTime() { + return time; + } + + + public void setTime(OffsetDateTime time) { + this.time = time; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateMetadataManagedFields v1alpha2DevWorkspaceTemplateMetadataManagedFields = (V1alpha2DevWorkspaceTemplateMetadataManagedFields) o; + return Objects.equals(this.apiVersion, v1alpha2DevWorkspaceTemplateMetadataManagedFields.apiVersion) && + Objects.equals(this.fieldsType, v1alpha2DevWorkspaceTemplateMetadataManagedFields.fieldsType) && + Objects.equals(this.fieldsV1, v1alpha2DevWorkspaceTemplateMetadataManagedFields.fieldsV1) && + Objects.equals(this.manager, v1alpha2DevWorkspaceTemplateMetadataManagedFields.manager) && + Objects.equals(this.operation, v1alpha2DevWorkspaceTemplateMetadataManagedFields.operation) && + Objects.equals(this.time, v1alpha2DevWorkspaceTemplateMetadataManagedFields.time); + } + + @Override + public int hashCode() { + return Objects.hash(apiVersion, fieldsType, fieldsV1, manager, operation, time); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateMetadataManagedFields {\n"); + sb.append(" apiVersion: ").append(toIndentedString(apiVersion)).append("\n"); + sb.append(" fieldsType: ").append(toIndentedString(fieldsType)).append("\n"); + sb.append(" fieldsV1: ").append(toIndentedString(fieldsV1)).append("\n"); + sb.append(" manager: ").append(toIndentedString(manager)).append("\n"); + sb.append(" operation: ").append(toIndentedString(operation)).append("\n"); + sb.append(" time: ").append(toIndentedString(time)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateMetadataOwnerReferences.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateMetadataOwnerReferences.java new file mode 100644 index 0000000..fbfea21 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateMetadataOwnerReferences.java @@ -0,0 +1,241 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * 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. + */ +@ApiModel(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.") + +public class V1alpha2DevWorkspaceTemplateMetadataOwnerReferences { + public static final String SERIALIZED_NAME_API_VERSION = "apiVersion"; + @SerializedName(SERIALIZED_NAME_API_VERSION) + private String apiVersion; + + public static final String SERIALIZED_NAME_BLOCK_OWNER_DELETION = "blockOwnerDeletion"; + @SerializedName(SERIALIZED_NAME_BLOCK_OWNER_DELETION) + private Boolean blockOwnerDeletion; + + public static final String SERIALIZED_NAME_CONTROLLER = "controller"; + @SerializedName(SERIALIZED_NAME_CONTROLLER) + private Boolean controller; + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private String kind; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_UID = "uid"; + @SerializedName(SERIALIZED_NAME_UID) + private String uid; + + + public V1alpha2DevWorkspaceTemplateMetadataOwnerReferences apiVersion(String apiVersion) { + + this.apiVersion = apiVersion; + return this; + } + + /** + * API version of the referent. + * @return apiVersion + **/ + @ApiModelProperty(required = true, value = "API version of the referent.") + + public String getApiVersion() { + return apiVersion; + } + + + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + + public V1alpha2DevWorkspaceTemplateMetadataOwnerReferences blockOwnerDeletion(Boolean blockOwnerDeletion) { + + this.blockOwnerDeletion = blockOwnerDeletion; + return this; + } + + /** + * 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. + * @return blockOwnerDeletion + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "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.") + + public Boolean getBlockOwnerDeletion() { + return blockOwnerDeletion; + } + + + public void setBlockOwnerDeletion(Boolean blockOwnerDeletion) { + this.blockOwnerDeletion = blockOwnerDeletion; + } + + + public V1alpha2DevWorkspaceTemplateMetadataOwnerReferences controller(Boolean controller) { + + this.controller = controller; + return this; + } + + /** + * If true, this reference points to the managing controller. + * @return controller + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "If true, this reference points to the managing controller.") + + public Boolean getController() { + return controller; + } + + + public void setController(Boolean controller) { + this.controller = controller; + } + + + public V1alpha2DevWorkspaceTemplateMetadataOwnerReferences kind(String kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + * @return kind + **/ + @ApiModelProperty(required = true, value = "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds") + + public String getKind() { + return kind; + } + + + public void setKind(String kind) { + this.kind = kind; + } + + + public V1alpha2DevWorkspaceTemplateMetadataOwnerReferences name(String name) { + + this.name = name; + return this; + } + + /** + * Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names + * @return name + **/ + @ApiModelProperty(required = true, value = "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateMetadataOwnerReferences uid(String uid) { + + this.uid = uid; + return this; + } + + /** + * UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids + * @return uid + **/ + @ApiModelProperty(required = true, value = "UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids") + + public String getUid() { + return uid; + } + + + public void setUid(String uid) { + this.uid = uid; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateMetadataOwnerReferences v1alpha2DevWorkspaceTemplateMetadataOwnerReferences = (V1alpha2DevWorkspaceTemplateMetadataOwnerReferences) o; + return Objects.equals(this.apiVersion, v1alpha2DevWorkspaceTemplateMetadataOwnerReferences.apiVersion) && + Objects.equals(this.blockOwnerDeletion, v1alpha2DevWorkspaceTemplateMetadataOwnerReferences.blockOwnerDeletion) && + Objects.equals(this.controller, v1alpha2DevWorkspaceTemplateMetadataOwnerReferences.controller) && + Objects.equals(this.kind, v1alpha2DevWorkspaceTemplateMetadataOwnerReferences.kind) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateMetadataOwnerReferences.name) && + Objects.equals(this.uid, v1alpha2DevWorkspaceTemplateMetadataOwnerReferences.uid); + } + + @Override + public int hashCode() { + return Objects.hash(apiVersion, blockOwnerDeletion, controller, kind, name, uid); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateMetadataOwnerReferences {\n"); + sb.append(" apiVersion: ").append(toIndentedString(apiVersion)).append("\n"); + sb.append(" blockOwnerDeletion: ").append(toIndentedString(blockOwnerDeletion)).append("\n"); + sb.append(" controller: ").append(toIndentedString(controller)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" uid: ").append(toIndentedString(uid)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpec.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpec.java new file mode 100644 index 0000000..979b016 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpec.java @@ -0,0 +1,353 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecCommands; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponents; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecEvents; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParent; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecProjects; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecStarterProjects; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Structure of the devworkspace. This is also the specification of a devworkspace template. + */ +@ApiModel(description = "Structure of the devworkspace. This is also the specification of a devworkspace template.") + +public class V1alpha2DevWorkspaceTemplateSpec { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_COMMANDS = "commands"; + @SerializedName(SERIALIZED_NAME_COMMANDS) + private List commands = null; + + public static final String SERIALIZED_NAME_COMPONENTS = "components"; + @SerializedName(SERIALIZED_NAME_COMPONENTS) + private List components = null; + + public static final String SERIALIZED_NAME_EVENTS = "events"; + @SerializedName(SERIALIZED_NAME_EVENTS) + private V1alpha2DevWorkspaceTemplateSpecEvents events; + + public static final String SERIALIZED_NAME_PARENT = "parent"; + @SerializedName(SERIALIZED_NAME_PARENT) + private V1alpha2DevWorkspaceTemplateSpecParent parent; + + public static final String SERIALIZED_NAME_PROJECTS = "projects"; + @SerializedName(SERIALIZED_NAME_PROJECTS) + private List projects = null; + + public static final String SERIALIZED_NAME_STARTER_PROJECTS = "starterProjects"; + @SerializedName(SERIALIZED_NAME_STARTER_PROJECTS) + private List starterProjects = null; + + public static final String SERIALIZED_NAME_VARIABLES = "variables"; + @SerializedName(SERIALIZED_NAME_VARIABLES) + private Map variables = null; + + + public V1alpha2DevWorkspaceTemplateSpec attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpec commands(List commands) { + + this.commands = commands; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpec addCommandsItem(V1alpha2DevWorkspaceTemplateSpecCommands commandsItem) { + if (this.commands == null) { + this.commands = new ArrayList<>(); + } + this.commands.add(commandsItem); + return this; + } + + /** + * Predefined, ready-to-use, devworkspace-related commands + * @return commands + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Predefined, ready-to-use, devworkspace-related commands") + + public List getCommands() { + return commands; + } + + + public void setCommands(List commands) { + this.commands = commands; + } + + + public V1alpha2DevWorkspaceTemplateSpec components(List components) { + + this.components = components; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpec addComponentsItem(V1alpha2DevWorkspaceTemplateSpecComponents componentsItem) { + if (this.components == null) { + this.components = new ArrayList<>(); + } + this.components.add(componentsItem); + return this; + } + + /** + * List of the devworkspace components, such as editor and plugins, user-provided containers, or other types of components + * @return components + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of the devworkspace components, such as editor and plugins, user-provided containers, or other types of components") + + public List getComponents() { + return components; + } + + + public void setComponents(List components) { + this.components = components; + } + + + public V1alpha2DevWorkspaceTemplateSpec events(V1alpha2DevWorkspaceTemplateSpecEvents events) { + + this.events = events; + return this; + } + + /** + * Get events + * @return events + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecEvents getEvents() { + return events; + } + + + public void setEvents(V1alpha2DevWorkspaceTemplateSpecEvents events) { + this.events = events; + } + + + public V1alpha2DevWorkspaceTemplateSpec parent(V1alpha2DevWorkspaceTemplateSpecParent parent) { + + this.parent = parent; + return this; + } + + /** + * Get parent + * @return parent + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParent getParent() { + return parent; + } + + + public void setParent(V1alpha2DevWorkspaceTemplateSpecParent parent) { + this.parent = parent; + } + + + public V1alpha2DevWorkspaceTemplateSpec projects(List projects) { + + this.projects = projects; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpec addProjectsItem(V1alpha2DevWorkspaceTemplateSpecProjects projectsItem) { + if (this.projects == null) { + this.projects = new ArrayList<>(); + } + this.projects.add(projectsItem); + return this; + } + + /** + * Projects worked on in the devworkspace, containing names and sources locations + * @return projects + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Projects worked on in the devworkspace, containing names and sources locations") + + public List getProjects() { + return projects; + } + + + public void setProjects(List projects) { + this.projects = projects; + } + + + public V1alpha2DevWorkspaceTemplateSpec starterProjects(List starterProjects) { + + this.starterProjects = starterProjects; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpec addStarterProjectsItem(V1alpha2DevWorkspaceTemplateSpecStarterProjects starterProjectsItem) { + if (this.starterProjects == null) { + this.starterProjects = new ArrayList<>(); + } + this.starterProjects.add(starterProjectsItem); + return this; + } + + /** + * StarterProjects is a project that can be used as a starting point when bootstrapping new projects + * @return starterProjects + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "StarterProjects is a project that can be used as a starting point when bootstrapping new projects") + + public List getStarterProjects() { + return starterProjects; + } + + + public void setStarterProjects(List starterProjects) { + this.starterProjects = starterProjects; + } + + + public V1alpha2DevWorkspaceTemplateSpec variables(Map variables) { + + this.variables = variables; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpec putVariablesItem(String key, String variablesItem) { + if (this.variables == null) { + this.variables = new HashMap<>(); + } + this.variables.put(key, variablesItem); + return this; + } + + /** + * Map of key-value variables used for string replacement in the devfile. Values can be referenced via {{variable-key}} to replace the corresponding value in string fields in the devfile. Replacement cannot be used for - schemaVersion, metadata, parent source - element identifiers, e.g. command id, component name, endpoint name, project name - references to identifiers, e.g. in events, a command's component, container's volume mount name - string enums, e.g. command group kind, endpoint exposure + * @return variables + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of key-value variables used for string replacement in the devfile. Values can be referenced via {{variable-key}} to replace the corresponding value in string fields in the devfile. Replacement cannot be used for - schemaVersion, metadata, parent source - element identifiers, e.g. command id, component name, endpoint name, project name - references to identifiers, e.g. in events, a command's component, container's volume mount name - string enums, e.g. command group kind, endpoint exposure") + + public Map getVariables() { + return variables; + } + + + public void setVariables(Map variables) { + this.variables = variables; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpec v1alpha2DevWorkspaceTemplateSpec = (V1alpha2DevWorkspaceTemplateSpec) o; + return Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpec.attributes) && + Objects.equals(this.commands, v1alpha2DevWorkspaceTemplateSpec.commands) && + Objects.equals(this.components, v1alpha2DevWorkspaceTemplateSpec.components) && + Objects.equals(this.events, v1alpha2DevWorkspaceTemplateSpec.events) && + Objects.equals(this.parent, v1alpha2DevWorkspaceTemplateSpec.parent) && + Objects.equals(this.projects, v1alpha2DevWorkspaceTemplateSpec.projects) && + Objects.equals(this.starterProjects, v1alpha2DevWorkspaceTemplateSpec.starterProjects) && + Objects.equals(this.variables, v1alpha2DevWorkspaceTemplateSpec.variables); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, commands, components, events, parent, projects, starterProjects, variables); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpec {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" commands: ").append(toIndentedString(commands)).append("\n"); + sb.append(" components: ").append(toIndentedString(components)).append("\n"); + sb.append(" events: ").append(toIndentedString(events)).append("\n"); + sb.append(" parent: ").append(toIndentedString(parent)).append("\n"); + sb.append(" projects: ").append(toIndentedString(projects)).append("\n"); + sb.append(" starterProjects: ").append(toIndentedString(starterProjects)).append("\n"); + sb.append(" variables: ").append(toIndentedString(variables)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommands.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommands.java new file mode 100644 index 0000000..79834e5 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommands.java @@ -0,0 +1,247 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceTemplateSpecCommands + */ + +public class V1alpha2DevWorkspaceTemplateSpecCommands { + public static final String SERIALIZED_NAME_APPLY = "apply"; + @SerializedName(SERIALIZED_NAME_APPLY) + private V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply apply; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_COMPOSITE = "composite"; + @SerializedName(SERIALIZED_NAME_COMPOSITE) + private V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite composite; + + public static final String SERIALIZED_NAME_CUSTOM = "custom"; + @SerializedName(SERIALIZED_NAME_CUSTOM) + private V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom custom; + + public static final String SERIALIZED_NAME_EXEC = "exec"; + @SerializedName(SERIALIZED_NAME_EXEC) + private V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec exec; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + + public V1alpha2DevWorkspaceTemplateSpecCommands apply(V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply apply) { + + this.apply = apply; + return this; + } + + /** + * Get apply + * @return apply + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply getApply() { + return apply; + } + + + public void setApply(V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply apply) { + this.apply = apply; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommands attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommands composite(V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite composite) { + + this.composite = composite; + return this; + } + + /** + * Get composite + * @return composite + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite getComposite() { + return composite; + } + + + public void setComposite(V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite composite) { + this.composite = composite; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommands custom(V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom custom) { + + this.custom = custom; + return this; + } + + /** + * Get custom + * @return custom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom getCustom() { + return custom; + } + + + public void setCustom(V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom custom) { + this.custom = custom; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommands exec(V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec exec) { + + this.exec = exec; + return this; + } + + /** + * Get exec + * @return exec + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec getExec() { + return exec; + } + + + public void setExec(V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec exec) { + this.exec = exec; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommands id(String id) { + + this.id = id; + return this; + } + + /** + * Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events. + * @return id + **/ + @ApiModelProperty(required = true, value = "Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecCommands v1alpha2DevWorkspaceTemplateSpecCommands = (V1alpha2DevWorkspaceTemplateSpecCommands) o; + return Objects.equals(this.apply, v1alpha2DevWorkspaceTemplateSpecCommands.apply) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecCommands.attributes) && + Objects.equals(this.composite, v1alpha2DevWorkspaceTemplateSpecCommands.composite) && + Objects.equals(this.custom, v1alpha2DevWorkspaceTemplateSpecCommands.custom) && + Objects.equals(this.exec, v1alpha2DevWorkspaceTemplateSpecCommands.exec) && + Objects.equals(this.id, v1alpha2DevWorkspaceTemplateSpecCommands.id); + } + + @Override + public int hashCode() { + return Objects.hash(apply, attributes, composite, custom, exec, id); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecCommands {\n"); + sb.append(" apply: ").append(toIndentedString(apply)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" composite: ").append(toIndentedString(composite)).append("\n"); + sb.append(" custom: ").append(toIndentedString(custom)).append("\n"); + sb.append(" exec: ").append(toIndentedString(exec)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply.java new file mode 100644 index 0000000..98b5394 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply.java @@ -0,0 +1,158 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. + */ +@ApiModel(description = "Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false.") + +public class V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply { + public static final String SERIALIZED_NAME_COMPONENT = "component"; + @SerializedName(SERIALIZED_NAME_COMPONENT) + private String component; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply component(String component) { + + this.component = component; + return this; + } + + /** + * Describes component that will be applied + * @return component + **/ + @ApiModelProperty(required = true, value = "Describes component that will be applied") + + public String getComponent() { + return component; + } + + + public void setComponent(String component) { + this.component = component; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply group(V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply v1alpha2DevWorkspaceTemplateSpecCommandsItemsApply = (V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply) o; + return Objects.equals(this.component, v1alpha2DevWorkspaceTemplateSpecCommandsItemsApply.component) && + Objects.equals(this.group, v1alpha2DevWorkspaceTemplateSpecCommandsItemsApply.group) && + Objects.equals(this.label, v1alpha2DevWorkspaceTemplateSpecCommandsItemsApply.label); + } + + @Override + public int hashCode() { + return Objects.hash(component, group, label); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecCommandsItemsApply {\n"); + sb.append(" component: ").append(toIndentedString(component)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup.java new file mode 100644 index 0000000..cbfbcee --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup.java @@ -0,0 +1,181 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @ApiModelProperty(required = true, value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup v1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup = (V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecCommandsItemsApplyGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite.java new file mode 100644 index 0000000..d5f70dd --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Composite command that allows executing several sub-commands either sequentially or concurrently + */ +@ApiModel(description = "Composite command that allows executing several sub-commands either sequentially or concurrently") + +public class V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite { + public static final String SERIALIZED_NAME_COMMANDS = "commands"; + @SerializedName(SERIALIZED_NAME_COMMANDS) + private List commands = null; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + public static final String SERIALIZED_NAME_PARALLEL = "parallel"; + @SerializedName(SERIALIZED_NAME_PARALLEL) + private Boolean parallel; + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite commands(List commands) { + + this.commands = commands; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite addCommandsItem(String commandsItem) { + if (this.commands == null) { + this.commands = new ArrayList<>(); + } + this.commands.add(commandsItem); + return this; + } + + /** + * The commands that comprise this composite command + * @return commands + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The commands that comprise this composite command") + + public List getCommands() { + return commands; + } + + + public void setCommands(List commands) { + this.commands = commands; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite group(V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite parallel(Boolean parallel) { + + this.parallel = parallel; + return this; + } + + /** + * Indicates if the sub-commands should be executed concurrently + * @return parallel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates if the sub-commands should be executed concurrently") + + public Boolean getParallel() { + return parallel; + } + + + public void setParallel(Boolean parallel) { + this.parallel = parallel; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite v1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite = (V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite) o; + return Objects.equals(this.commands, v1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite.commands) && + Objects.equals(this.group, v1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite.group) && + Objects.equals(this.label, v1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite.label) && + Objects.equals(this.parallel, v1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite.parallel); + } + + @Override + public int hashCode() { + return Objects.hash(commands, group, label, parallel); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecCommandsItemsComposite {\n"); + sb.append(" commands: ").append(toIndentedString(commands)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" parallel: ").append(toIndentedString(parallel)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup.java new file mode 100644 index 0000000..070f796 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup.java @@ -0,0 +1,181 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @ApiModelProperty(required = true, value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup v1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup = (V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecCommandsItemsCompositeGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom.java new file mode 100644 index 0000000..6b4f3b6 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom.java @@ -0,0 +1,186 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Custom command whose logic is implementation-dependant and should be provided by the user possibly through some dedicated plugin + */ +@ApiModel(description = "Custom command whose logic is implementation-dependant and should be provided by the user possibly through some dedicated plugin") + +public class V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom { + public static final String SERIALIZED_NAME_COMMAND_CLASS = "commandClass"; + @SerializedName(SERIALIZED_NAME_COMMAND_CLASS) + private String commandClass; + + public static final String SERIALIZED_NAME_EMBEDDED_RESOURCE = "embeddedResource"; + @SerializedName(SERIALIZED_NAME_EMBEDDED_RESOURCE) + private Object embeddedResource; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom commandClass(String commandClass) { + + this.commandClass = commandClass; + return this; + } + + /** + * Class of command that the associated implementation component should use to process this command with the appropriate logic + * @return commandClass + **/ + @ApiModelProperty(required = true, value = "Class of command that the associated implementation component should use to process this command with the appropriate logic") + + public String getCommandClass() { + return commandClass; + } + + + public void setCommandClass(String commandClass) { + this.commandClass = commandClass; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom embeddedResource(Object embeddedResource) { + + this.embeddedResource = embeddedResource; + return this; + } + + /** + * Additional free-form configuration for this custom command that the implementation component will know how to use + * @return embeddedResource + **/ + @ApiModelProperty(required = true, value = "Additional free-form configuration for this custom command that the implementation component will know how to use") + + public Object getEmbeddedResource() { + return embeddedResource; + } + + + public void setEmbeddedResource(Object embeddedResource) { + this.embeddedResource = embeddedResource; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom group(V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom v1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom = (V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom) o; + return Objects.equals(this.commandClass, v1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom.commandClass) && + Objects.equals(this.embeddedResource, v1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom.embeddedResource) && + Objects.equals(this.group, v1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom.group) && + Objects.equals(this.label, v1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom.label); + } + + @Override + public int hashCode() { + return Objects.hash(commandClass, embeddedResource, group, label); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustom {\n"); + sb.append(" commandClass: ").append(toIndentedString(commandClass)).append("\n"); + sb.append(" embeddedResource: ").append(toIndentedString(embeddedResource)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup.java new file mode 100644 index 0000000..e447180 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup.java @@ -0,0 +1,181 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @ApiModelProperty(required = true, value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup v1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup = (V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecCommandsItemsCustomGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec.java new file mode 100644 index 0000000..45c2117 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec.java @@ -0,0 +1,284 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CLI Command executed in an existing component container + */ +@ApiModel(description = "CLI Command executed in an existing component container") + +public class V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec { + public static final String SERIALIZED_NAME_COMMAND_LINE = "commandLine"; + @SerializedName(SERIALIZED_NAME_COMMAND_LINE) + private String commandLine; + + public static final String SERIALIZED_NAME_COMPONENT = "component"; + @SerializedName(SERIALIZED_NAME_COMPONENT) + private String component; + + public static final String SERIALIZED_NAME_ENV = "env"; + @SerializedName(SERIALIZED_NAME_ENV) + private List env = null; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup group; + + public static final String SERIALIZED_NAME_HOT_RELOAD_CAPABLE = "hotReloadCapable"; + @SerializedName(SERIALIZED_NAME_HOT_RELOAD_CAPABLE) + private Boolean hotReloadCapable; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + public static final String SERIALIZED_NAME_WORKING_DIR = "workingDir"; + @SerializedName(SERIALIZED_NAME_WORKING_DIR) + private String workingDir; + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec commandLine(String commandLine) { + + this.commandLine = commandLine; + return this; + } + + /** + * The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. + * @return commandLine + **/ + @ApiModelProperty(required = true, value = "The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one.") + + public String getCommandLine() { + return commandLine; + } + + + public void setCommandLine(String commandLine) { + this.commandLine = commandLine; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec component(String component) { + + this.component = component; + return this; + } + + /** + * Describes component to which given action relates + * @return component + **/ + @ApiModelProperty(required = true, value = "Describes component to which given action relates") + + public String getComponent() { + return component; + } + + + public void setComponent(String component) { + this.component = component; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec env(List env) { + + this.env = env; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec addEnvItem(V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv envItem) { + if (this.env == null) { + this.env = new ArrayList<>(); + } + this.env.add(envItem); + return this; + } + + /** + * Optional list of environment variables that have to be set before running the command + * @return env + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional list of environment variables that have to be set before running the command") + + public List getEnv() { + return env; + } + + + public void setEnv(List env) { + this.env = env; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec group(V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec hotReloadCapable(Boolean hotReloadCapable) { + + this.hotReloadCapable = hotReloadCapable; + return this; + } + + /** + * Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false` + * @return hotReloadCapable + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false`") + + public Boolean getHotReloadCapable() { + return hotReloadCapable; + } + + + public void setHotReloadCapable(Boolean hotReloadCapable) { + this.hotReloadCapable = hotReloadCapable; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec workingDir(String workingDir) { + + this.workingDir = workingDir; + return this; + } + + /** + * Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. + * @return workingDir + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one.") + + public String getWorkingDir() { + return workingDir; + } + + + public void setWorkingDir(String workingDir) { + this.workingDir = workingDir; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec v1alpha2DevWorkspaceTemplateSpecCommandsItemsExec = (V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec) o; + return Objects.equals(this.commandLine, v1alpha2DevWorkspaceTemplateSpecCommandsItemsExec.commandLine) && + Objects.equals(this.component, v1alpha2DevWorkspaceTemplateSpecCommandsItemsExec.component) && + Objects.equals(this.env, v1alpha2DevWorkspaceTemplateSpecCommandsItemsExec.env) && + Objects.equals(this.group, v1alpha2DevWorkspaceTemplateSpecCommandsItemsExec.group) && + Objects.equals(this.hotReloadCapable, v1alpha2DevWorkspaceTemplateSpecCommandsItemsExec.hotReloadCapable) && + Objects.equals(this.label, v1alpha2DevWorkspaceTemplateSpecCommandsItemsExec.label) && + Objects.equals(this.workingDir, v1alpha2DevWorkspaceTemplateSpecCommandsItemsExec.workingDir); + } + + @Override + public int hashCode() { + return Objects.hash(commandLine, component, env, group, hotReloadCapable, label, workingDir); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecCommandsItemsExec {\n"); + sb.append(" commandLine: ").append(toIndentedString(commandLine)).append("\n"); + sb.append(" component: ").append(toIndentedString(component)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" hotReloadCapable: ").append(toIndentedString(hotReloadCapable)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" workingDir: ").append(toIndentedString(workingDir)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv.java new file mode 100644 index 0000000..97ddbc2 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv.java @@ -0,0 +1,126 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv + */ + +public class V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @ApiModelProperty(required = true, value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv v1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv = (V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv.name) && + Objects.equals(this.value, v1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecEnv {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup.java new file mode 100644 index 0000000..f71a599 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup.java @@ -0,0 +1,181 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @ApiModelProperty(required = true, value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup v1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup = (V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecCommandsItemsExecGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponents.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponents.java new file mode 100644 index 0000000..12869ff --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponents.java @@ -0,0 +1,337 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceTemplateSpecComponents + */ + +public class V1alpha2DevWorkspaceTemplateSpecComponents { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_CONTAINER = "container"; + @SerializedName(SERIALIZED_NAME_CONTAINER) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer container; + + public static final String SERIALIZED_NAME_CUSTOM = "custom"; + @SerializedName(SERIALIZED_NAME_CUSTOM) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom custom; + + public static final String SERIALIZED_NAME_IMAGE = "image"; + @SerializedName(SERIALIZED_NAME_IMAGE) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage image; + + public static final String SERIALIZED_NAME_KUBERNETES = "kubernetes"; + @SerializedName(SERIALIZED_NAME_KUBERNETES) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes kubernetes; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OPENSHIFT = "openshift"; + @SerializedName(SERIALIZED_NAME_OPENSHIFT) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift openshift; + + public static final String SERIALIZED_NAME_PLUGIN = "plugin"; + @SerializedName(SERIALIZED_NAME_PLUGIN) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin plugin; + + public static final String SERIALIZED_NAME_VOLUME = "volume"; + @SerializedName(SERIALIZED_NAME_VOLUME) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume volume; + + + public V1alpha2DevWorkspaceTemplateSpecComponents attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponents container(V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer container) { + + this.container = container; + return this; + } + + /** + * Get container + * @return container + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer getContainer() { + return container; + } + + + public void setContainer(V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer container) { + this.container = container; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponents custom(V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom custom) { + + this.custom = custom; + return this; + } + + /** + * Get custom + * @return custom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom getCustom() { + return custom; + } + + + public void setCustom(V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom custom) { + this.custom = custom; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponents image(V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage image) { + + this.image = image; + return this; + } + + /** + * Get image + * @return image + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage getImage() { + return image; + } + + + public void setImage(V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage image) { + this.image = image; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponents kubernetes(V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes kubernetes) { + + this.kubernetes = kubernetes; + return this; + } + + /** + * Get kubernetes + * @return kubernetes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes getKubernetes() { + return kubernetes; + } + + + public void setKubernetes(V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes kubernetes) { + this.kubernetes = kubernetes; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponents name(String name) { + + this.name = name; + return this; + } + + /** + * Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin. + * @return name + **/ + @ApiModelProperty(required = true, value = "Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponents openshift(V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift openshift) { + + this.openshift = openshift; + return this; + } + + /** + * Get openshift + * @return openshift + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift getOpenshift() { + return openshift; + } + + + public void setOpenshift(V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift openshift) { + this.openshift = openshift; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponents plugin(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin plugin) { + + this.plugin = plugin; + return this; + } + + /** + * Get plugin + * @return plugin + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin getPlugin() { + return plugin; + } + + + public void setPlugin(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin plugin) { + this.plugin = plugin; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponents volume(V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume volume) { + + this.volume = volume; + return this; + } + + /** + * Get volume + * @return volume + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume getVolume() { + return volume; + } + + + public void setVolume(V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume volume) { + this.volume = volume; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponents v1alpha2DevWorkspaceTemplateSpecComponents = (V1alpha2DevWorkspaceTemplateSpecComponents) o; + return Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecComponents.attributes) && + Objects.equals(this.container, v1alpha2DevWorkspaceTemplateSpecComponents.container) && + Objects.equals(this.custom, v1alpha2DevWorkspaceTemplateSpecComponents.custom) && + Objects.equals(this.image, v1alpha2DevWorkspaceTemplateSpecComponents.image) && + Objects.equals(this.kubernetes, v1alpha2DevWorkspaceTemplateSpecComponents.kubernetes) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecComponents.name) && + Objects.equals(this.openshift, v1alpha2DevWorkspaceTemplateSpecComponents.openshift) && + Objects.equals(this.plugin, v1alpha2DevWorkspaceTemplateSpecComponents.plugin) && + Objects.equals(this.volume, v1alpha2DevWorkspaceTemplateSpecComponents.volume); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, container, custom, image, kubernetes, name, openshift, plugin, volume); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponents {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" container: ").append(toIndentedString(container)).append("\n"); + sb.append(" custom: ").append(toIndentedString(custom)).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" kubernetes: ").append(toIndentedString(kubernetes)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" openshift: ").append(toIndentedString(openshift)).append("\n"); + sb.append(" plugin: ").append(toIndentedString(plugin)).append("\n"); + sb.append(" volume: ").append(toIndentedString(volume)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.java new file mode 100644 index 0000000..d8bdf0d --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.java @@ -0,0 +1,522 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows adding and configuring devworkspace-related containers + */ +@ApiModel(description = "Allows adding and configuring devworkspace-related containers") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation annotation; + + public static final String SERIALIZED_NAME_ARGS = "args"; + @SerializedName(SERIALIZED_NAME_ARGS) + private List args = null; + + public static final String SERIALIZED_NAME_COMMAND = "command"; + @SerializedName(SERIALIZED_NAME_COMMAND) + private List command = null; + + public static final String SERIALIZED_NAME_CPU_LIMIT = "cpuLimit"; + @SerializedName(SERIALIZED_NAME_CPU_LIMIT) + private String cpuLimit; + + public static final String SERIALIZED_NAME_CPU_REQUEST = "cpuRequest"; + @SerializedName(SERIALIZED_NAME_CPU_REQUEST) + private String cpuRequest; + + public static final String SERIALIZED_NAME_DEDICATED_POD = "dedicatedPod"; + @SerializedName(SERIALIZED_NAME_DEDICATED_POD) + private Boolean dedicatedPod; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_ENV = "env"; + @SerializedName(SERIALIZED_NAME_ENV) + private List env = null; + + public static final String SERIALIZED_NAME_IMAGE = "image"; + @SerializedName(SERIALIZED_NAME_IMAGE) + private String image; + + public static final String SERIALIZED_NAME_MEMORY_LIMIT = "memoryLimit"; + @SerializedName(SERIALIZED_NAME_MEMORY_LIMIT) + private String memoryLimit; + + public static final String SERIALIZED_NAME_MEMORY_REQUEST = "memoryRequest"; + @SerializedName(SERIALIZED_NAME_MEMORY_REQUEST) + private String memoryRequest; + + public static final String SERIALIZED_NAME_MOUNT_SOURCES = "mountSources"; + @SerializedName(SERIALIZED_NAME_MOUNT_SOURCES) + private Boolean mountSources; + + public static final String SERIALIZED_NAME_SOURCE_MAPPING = "sourceMapping"; + @SerializedName(SERIALIZED_NAME_SOURCE_MAPPING) + private String sourceMapping = "/projects"; + + public static final String SERIALIZED_NAME_VOLUME_MOUNTS = "volumeMounts"; + @SerializedName(SERIALIZED_NAME_VOLUME_MOUNTS) + private List volumeMounts = null; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer annotation(V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation annotation) { + + this.annotation = annotation; + return this; + } + + /** + * Get annotation + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation getAnnotation() { + return annotation; + } + + + public void setAnnotation(V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer args(List args) { + + this.args = args; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer addArgsItem(String argsItem) { + if (this.args == null) { + this.args = new ArrayList<>(); + } + this.args.add(argsItem); + return this; + } + + /** + * The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image. + * @return args + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image.") + + public List getArgs() { + return args; + } + + + public void setArgs(List args) { + this.args = args; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer command(List command) { + + this.command = command; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer addCommandItem(String commandItem) { + if (this.command == null) { + this.command = new ArrayList<>(); + } + this.command.add(commandItem); + return this; + } + + /** + * The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image. + * @return command + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image.") + + public List getCommand() { + return command; + } + + + public void setCommand(List command) { + this.command = command; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer cpuLimit(String cpuLimit) { + + this.cpuLimit = cpuLimit; + return this; + } + + /** + * Get cpuLimit + * @return cpuLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCpuLimit() { + return cpuLimit; + } + + + public void setCpuLimit(String cpuLimit) { + this.cpuLimit = cpuLimit; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer cpuRequest(String cpuRequest) { + + this.cpuRequest = cpuRequest; + return this; + } + + /** + * Get cpuRequest + * @return cpuRequest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCpuRequest() { + return cpuRequest; + } + + + public void setCpuRequest(String cpuRequest) { + this.cpuRequest = cpuRequest; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer dedicatedPod(Boolean dedicatedPod) { + + this.dedicatedPod = dedicatedPod; + return this; + } + + /** + * Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false` + * @return dedicatedPod + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false`") + + public Boolean getDedicatedPod() { + return dedicatedPod; + } + + + public void setDedicatedPod(Boolean dedicatedPod) { + this.dedicatedPod = dedicatedPod; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer addEndpointsItem(V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer env(List env) { + + this.env = env; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer addEnvItem(V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv envItem) { + if (this.env == null) { + this.env = new ArrayList<>(); + } + this.env.add(envItem); + return this; + } + + /** + * Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE` + * @return env + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE`") + + public List getEnv() { + return env; + } + + + public void setEnv(List env) { + this.env = env; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer image(String image) { + + this.image = image; + return this; + } + + /** + * Get image + * @return image + **/ + @ApiModelProperty(required = true, value = "") + + public String getImage() { + return image; + } + + + public void setImage(String image) { + this.image = image; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer memoryLimit(String memoryLimit) { + + this.memoryLimit = memoryLimit; + return this; + } + + /** + * Get memoryLimit + * @return memoryLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMemoryLimit() { + return memoryLimit; + } + + + public void setMemoryLimit(String memoryLimit) { + this.memoryLimit = memoryLimit; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer memoryRequest(String memoryRequest) { + + this.memoryRequest = memoryRequest; + return this; + } + + /** + * Get memoryRequest + * @return memoryRequest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMemoryRequest() { + return memoryRequest; + } + + + public void setMemoryRequest(String memoryRequest) { + this.memoryRequest = memoryRequest; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer mountSources(Boolean mountSources) { + + this.mountSources = mountSources; + return this; + } + + /** + * Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. + * @return mountSources + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true.") + + public Boolean getMountSources() { + return mountSources; + } + + + public void setMountSources(Boolean mountSources) { + this.mountSources = mountSources; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer sourceMapping(String sourceMapping) { + + this.sourceMapping = sourceMapping; + return this; + } + + /** + * Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used. + * @return sourceMapping + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used.") + + public String getSourceMapping() { + return sourceMapping; + } + + + public void setSourceMapping(String sourceMapping) { + this.sourceMapping = sourceMapping; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer volumeMounts(List volumeMounts) { + + this.volumeMounts = volumeMounts; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer addVolumeMountsItem(V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts volumeMountsItem) { + if (this.volumeMounts == null) { + this.volumeMounts = new ArrayList<>(); + } + this.volumeMounts.add(volumeMountsItem); + return this; + } + + /** + * List of volumes mounts that should be mounted is this container. + * @return volumeMounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of volumes mounts that should be mounted is this container.") + + public List getVolumeMounts() { + return volumeMounts; + } + + + public void setVolumeMounts(List volumeMounts) { + this.volumeMounts = volumeMounts; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.annotation) && + Objects.equals(this.args, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.args) && + Objects.equals(this.command, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.command) && + Objects.equals(this.cpuLimit, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.cpuLimit) && + Objects.equals(this.cpuRequest, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.cpuRequest) && + Objects.equals(this.dedicatedPod, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.dedicatedPod) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.endpoints) && + Objects.equals(this.env, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.env) && + Objects.equals(this.image, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.image) && + Objects.equals(this.memoryLimit, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.memoryLimit) && + Objects.equals(this.memoryRequest, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.memoryRequest) && + Objects.equals(this.mountSources, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.mountSources) && + Objects.equals(this.sourceMapping, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.sourceMapping) && + Objects.equals(this.volumeMounts, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer.volumeMounts); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, args, command, cpuLimit, cpuRequest, dedicatedPod, endpoints, env, image, memoryLimit, memoryRequest, mountSources, sourceMapping, volumeMounts); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainer {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" args: ").append(toIndentedString(args)).append("\n"); + sb.append(" command: ").append(toIndentedString(command)).append("\n"); + sb.append(" cpuLimit: ").append(toIndentedString(cpuLimit)).append("\n"); + sb.append(" cpuRequest: ").append(toIndentedString(cpuRequest)).append("\n"); + sb.append(" dedicatedPod: ").append(toIndentedString(dedicatedPod)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" memoryLimit: ").append(toIndentedString(memoryLimit)).append("\n"); + sb.append(" memoryRequest: ").append(toIndentedString(memoryRequest)).append("\n"); + sb.append(" mountSources: ").append(toIndentedString(mountSources)).append("\n"); + sb.append(" sourceMapping: ").append(toIndentedString(sourceMapping)).append("\n"); + sb.append(" volumeMounts: ").append(toIndentedString(volumeMounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation.java new file mode 100644 index 0000000..1a4c478 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation.java @@ -0,0 +1,148 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Annotations that should be added to specific resources for this container + */ +@ApiModel(description = "Annotations that should be added to specific resources for this container") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation { + public static final String SERIALIZED_NAME_DEPLOYMENT = "deployment"; + @SerializedName(SERIALIZED_NAME_DEPLOYMENT) + private Map deployment = null; + + public static final String SERIALIZED_NAME_SERVICE = "service"; + @SerializedName(SERIALIZED_NAME_SERVICE) + private Map service = null; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation deployment(Map deployment) { + + this.deployment = deployment; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation putDeploymentItem(String key, String deploymentItem) { + if (this.deployment == null) { + this.deployment = new HashMap<>(); + } + this.deployment.put(key, deploymentItem); + return this; + } + + /** + * Annotations to be added to deployment + * @return deployment + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to deployment") + + public Map getDeployment() { + return deployment; + } + + + public void setDeployment(Map deployment) { + this.deployment = deployment; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation service(Map service) { + + this.service = service; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation putServiceItem(String key, String serviceItem) { + if (this.service == null) { + this.service = new HashMap<>(); + } + this.service.put(key, serviceItem); + return this; + } + + /** + * Annotations to be added to service + * @return service + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to service") + + public Map getService() { + return service; + } + + + public void setService(Map service) { + this.service = service; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation) o; + return Objects.equals(this.deployment, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation.deployment) && + Objects.equals(this.service, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation.service); + } + + @Override + public int hashCode() { + return Objects.hash(deployment, service); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerAnnotation {\n"); + sb.append(" deployment: ").append(toIndentedString(deployment)).append("\n"); + sb.append(" service: ").append(toIndentedString(service)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints.java new file mode 100644 index 0000000..9a2f55e --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints.java @@ -0,0 +1,415 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints + */ + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure = ExposureEnum.PUBLIC; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol = ProtocolEnum.HTTP; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @ApiModelProperty(required = true, value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv.java new file mode 100644 index 0000000..336342f --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv.java @@ -0,0 +1,126 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv + */ + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @ApiModelProperty(required = true, value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv.name) && + Objects.equals(this.value, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerEnv {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts.java new file mode 100644 index 0000000..81a30f4 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts.java @@ -0,0 +1,128 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Volume that should be mounted to a component container + */ +@ApiModel(description = "Volume that should be mounted to a component container") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts name(String name) { + + this.name = name; + return this; + } + + /** + * The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files. + * @return name + **/ + @ApiModelProperty(required = true, value = "The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts path(String path) { + + this.path = path; + return this; + } + + /** + * The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/<name>`. + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/`.") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts.path); + } + + @Override + public int hashCode() { + return Objects.hash(name, path); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsContainerVolumeMounts {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom.java new file mode 100644 index 0000000..ce2fbf8 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom.java @@ -0,0 +1,127 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Custom component whose logic is implementation-dependant and should be provided by the user possibly through some dedicated controller + */ +@ApiModel(description = "Custom component whose logic is implementation-dependant and should be provided by the user possibly through some dedicated controller") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom { + public static final String SERIALIZED_NAME_COMPONENT_CLASS = "componentClass"; + @SerializedName(SERIALIZED_NAME_COMPONENT_CLASS) + private String componentClass; + + public static final String SERIALIZED_NAME_EMBEDDED_RESOURCE = "embeddedResource"; + @SerializedName(SERIALIZED_NAME_EMBEDDED_RESOURCE) + private Object embeddedResource; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom componentClass(String componentClass) { + + this.componentClass = componentClass; + return this; + } + + /** + * Class of component that the associated implementation controller should use to process this command with the appropriate logic + * @return componentClass + **/ + @ApiModelProperty(required = true, value = "Class of component that the associated implementation controller should use to process this command with the appropriate logic") + + public String getComponentClass() { + return componentClass; + } + + + public void setComponentClass(String componentClass) { + this.componentClass = componentClass; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom embeddedResource(Object embeddedResource) { + + this.embeddedResource = embeddedResource; + return this; + } + + /** + * Additional free-form configuration for this custom component that the implementation controller will know how to use + * @return embeddedResource + **/ + @ApiModelProperty(required = true, value = "Additional free-form configuration for this custom component that the implementation controller will know how to use") + + public Object getEmbeddedResource() { + return embeddedResource; + } + + + public void setEmbeddedResource(Object embeddedResource) { + this.embeddedResource = embeddedResource; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom v1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom) o; + return Objects.equals(this.componentClass, v1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom.componentClass) && + Objects.equals(this.embeddedResource, v1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom.embeddedResource); + } + + @Override + public int hashCode() { + return Objects.hash(componentClass, embeddedResource); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsCustom {\n"); + sb.append(" componentClass: ").append(toIndentedString(componentClass)).append("\n"); + sb.append(" embeddedResource: ").append(toIndentedString(embeddedResource)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage.java new file mode 100644 index 0000000..e45a5b8 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage.java @@ -0,0 +1,158 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the definition of an image for outer loop builds + */ +@ApiModel(description = "Allows specifying the definition of an image for outer loop builds") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage { + public static final String SERIALIZED_NAME_AUTO_BUILD = "autoBuild"; + @SerializedName(SERIALIZED_NAME_AUTO_BUILD) + private Boolean autoBuild; + + public static final String SERIALIZED_NAME_DOCKERFILE = "dockerfile"; + @SerializedName(SERIALIZED_NAME_DOCKERFILE) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile dockerfile; + + public static final String SERIALIZED_NAME_IMAGE_NAME = "imageName"; + @SerializedName(SERIALIZED_NAME_IMAGE_NAME) + private String imageName; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage autoBuild(Boolean autoBuild) { + + this.autoBuild = autoBuild; + return this; + } + + /** + * Defines if the image should be built during startup. Default value is `false` + * @return autoBuild + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the image should be built during startup. Default value is `false`") + + public Boolean getAutoBuild() { + return autoBuild; + } + + + public void setAutoBuild(Boolean autoBuild) { + this.autoBuild = autoBuild; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage dockerfile(V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile dockerfile) { + + this.dockerfile = dockerfile; + return this; + } + + /** + * Get dockerfile + * @return dockerfile + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile getDockerfile() { + return dockerfile; + } + + + public void setDockerfile(V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile dockerfile) { + this.dockerfile = dockerfile; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage imageName(String imageName) { + + this.imageName = imageName; + return this; + } + + /** + * Name of the image for the resulting outerloop build + * @return imageName + **/ + @ApiModelProperty(required = true, value = "Name of the image for the resulting outerloop build") + + public String getImageName() { + return imageName; + } + + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage v1alpha2DevWorkspaceTemplateSpecComponentsItemsImage = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage) o; + return Objects.equals(this.autoBuild, v1alpha2DevWorkspaceTemplateSpecComponentsItemsImage.autoBuild) && + Objects.equals(this.dockerfile, v1alpha2DevWorkspaceTemplateSpecComponentsItemsImage.dockerfile) && + Objects.equals(this.imageName, v1alpha2DevWorkspaceTemplateSpecComponentsItemsImage.imageName); + } + + @Override + public int hashCode() { + return Objects.hash(autoBuild, dockerfile, imageName); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsImage {\n"); + sb.append(" autoBuild: ").append(toIndentedString(autoBuild)).append("\n"); + sb.append(" dockerfile: ").append(toIndentedString(dockerfile)).append("\n"); + sb.append(" imageName: ").append(toIndentedString(imageName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile.java new file mode 100644 index 0000000..62ab0cd --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile.java @@ -0,0 +1,257 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows specifying dockerfile type build + */ +@ApiModel(description = "Allows specifying dockerfile type build") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile { + public static final String SERIALIZED_NAME_ARGS = "args"; + @SerializedName(SERIALIZED_NAME_ARGS) + private List args = null; + + public static final String SERIALIZED_NAME_BUILD_CONTEXT = "buildContext"; + @SerializedName(SERIALIZED_NAME_BUILD_CONTEXT) + private String buildContext; + + public static final String SERIALIZED_NAME_DEVFILE_REGISTRY = "devfileRegistry"; + @SerializedName(SERIALIZED_NAME_DEVFILE_REGISTRY) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry devfileRegistry; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit git; + + public static final String SERIALIZED_NAME_ROOT_REQUIRED = "rootRequired"; + @SerializedName(SERIALIZED_NAME_ROOT_REQUIRED) + private Boolean rootRequired; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile args(List args) { + + this.args = args; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile addArgsItem(String argsItem) { + if (this.args == null) { + this.args = new ArrayList<>(); + } + this.args.add(argsItem); + return this; + } + + /** + * The arguments to supply to the dockerfile build. + * @return args + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The arguments to supply to the dockerfile build.") + + public List getArgs() { + return args; + } + + + public void setArgs(List args) { + this.args = args; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile buildContext(String buildContext) { + + this.buildContext = buildContext; + return this; + } + + /** + * Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container + * @return buildContext + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container") + + public String getBuildContext() { + return buildContext; + } + + + public void setBuildContext(String buildContext) { + this.buildContext = buildContext; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile devfileRegistry(V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry devfileRegistry) { + + this.devfileRegistry = devfileRegistry; + return this; + } + + /** + * Get devfileRegistry + * @return devfileRegistry + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry getDevfileRegistry() { + return devfileRegistry; + } + + + public void setDevfileRegistry(V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry devfileRegistry) { + this.devfileRegistry = devfileRegistry; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile git(V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit getGit() { + return git; + } + + + public void setGit(V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit git) { + this.git = git; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile rootRequired(Boolean rootRequired) { + + this.rootRequired = rootRequired; + return this; + } + + /** + * Specify if a privileged builder pod is required. Default value is `false` + * @return rootRequired + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify if a privileged builder pod is required. Default value is `false`") + + public Boolean getRootRequired() { + return rootRequired; + } + + + public void setRootRequired(Boolean rootRequired) { + this.rootRequired = rootRequired; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile v1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile) o; + return Objects.equals(this.args, v1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile.args) && + Objects.equals(this.buildContext, v1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile.buildContext) && + Objects.equals(this.devfileRegistry, v1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile.devfileRegistry) && + Objects.equals(this.git, v1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile.git) && + Objects.equals(this.rootRequired, v1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile.rootRequired) && + Objects.equals(this.uri, v1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile.uri); + } + + @Override + public int hashCode() { + return Objects.hash(args, buildContext, devfileRegistry, git, rootRequired, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfile {\n"); + sb.append(" args: ").append(toIndentedString(args)).append("\n"); + sb.append(" buildContext: ").append(toIndentedString(buildContext)).append("\n"); + sb.append(" devfileRegistry: ").append(toIndentedString(devfileRegistry)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" rootRequired: ").append(toIndentedString(rootRequired)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry.java new file mode 100644 index 0000000..fdf791f --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry.java @@ -0,0 +1,128 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Dockerfile's Devfile Registry source + */ +@ApiModel(description = "Dockerfile's Devfile Registry source") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_REGISTRY_URL = "registryUrl"; + @SerializedName(SERIALIZED_NAME_REGISTRY_URL) + private String registryUrl; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry id(String id) { + + this.id = id; + return this; + } + + /** + * Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image. + * @return id + **/ + @ApiModelProperty(required = true, value = "Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry registryUrl(String registryUrl) { + + this.registryUrl = registryUrl; + return this; + } + + /** + * Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used. + * @return registryUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used.") + + public String getRegistryUrl() { + return registryUrl; + } + + + public void setRegistryUrl(String registryUrl) { + this.registryUrl = registryUrl; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry v1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry) o; + return Objects.equals(this.id, v1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry.id) && + Objects.equals(this.registryUrl, v1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry.registryUrl); + } + + @Override + public int hashCode() { + return Objects.hash(id, registryUrl); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileDevfileRegistry {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" registryUrl: ").append(toIndentedString(registryUrl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit.java new file mode 100644 index 0000000..010e72f --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit.java @@ -0,0 +1,166 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Dockerfile's Git source + */ +@ApiModel(description = "Dockerfile's Git source") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_FILE_LOCATION = "fileLocation"; + @SerializedName(SERIALIZED_NAME_FILE_LOCATION) + private String fileLocation; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = new HashMap<>(); + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit checkoutFrom(V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit fileLocation(String fileLocation) { + + this.fileLocation = fileLocation; + return this; + } + + /** + * Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile. + * @return fileLocation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile.") + + public String getFileLocation() { + return fileLocation; + } + + + public void setFileLocation(String fileLocation) { + this.fileLocation = fileLocation; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit putRemotesItem(String key, String remotesItem) { + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @ApiModelProperty(required = true, value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit v1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit) o; + return Objects.equals(this.checkoutFrom, v1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit.checkoutFrom) && + Objects.equals(this.fileLocation, v1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit.fileLocation) && + Objects.equals(this.remotes, v1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, fileLocation, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" fileLocation: ").append(toIndentedString(fileLocation)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom.java new file mode 100644 index 0000000..9536362 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom v1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom) o; + return Objects.equals(this.remote, v1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom.remote) && + Objects.equals(this.revision, v1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsImageDockerfileGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes.java new file mode 100644 index 0000000..4addb8d --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production. + */ +@ApiModel(description = "Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production.") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes { + public static final String SERIALIZED_NAME_DEPLOY_BY_DEFAULT = "deployByDefault"; + @SerializedName(SERIALIZED_NAME_DEPLOY_BY_DEFAULT) + private Boolean deployByDefault; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_INLINED = "inlined"; + @SerializedName(SERIALIZED_NAME_INLINED) + private String inlined; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes deployByDefault(Boolean deployByDefault) { + + this.deployByDefault = deployByDefault; + return this; + } + + /** + * Defines if the component should be deployed during startup. Default value is `false` + * @return deployByDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the component should be deployed during startup. Default value is `false`") + + public Boolean getDeployByDefault() { + return deployByDefault; + } + + + public void setDeployByDefault(Boolean deployByDefault) { + this.deployByDefault = deployByDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes addEndpointsItem(V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes inlined(String inlined) { + + this.inlined = inlined; + return this; + } + + /** + * Inlined manifest + * @return inlined + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Inlined manifest") + + public String getInlined() { + return inlined; + } + + + public void setInlined(String inlined) { + this.inlined = inlined; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * Location in a file fetched from a uri. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location in a file fetched from a uri.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes v1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes) o; + return Objects.equals(this.deployByDefault, v1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes.deployByDefault) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes.endpoints) && + Objects.equals(this.inlined, v1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes.inlined) && + Objects.equals(this.uri, v1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes.uri); + } + + @Override + public int hashCode() { + return Objects.hash(deployByDefault, endpoints, inlined, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetes {\n"); + sb.append(" deployByDefault: ").append(toIndentedString(deployByDefault)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" inlined: ").append(toIndentedString(inlined)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints.java new file mode 100644 index 0000000..683e9c8 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints.java @@ -0,0 +1,415 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints + */ + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure = ExposureEnum.PUBLIC; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol = ProtocolEnum.HTTP; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @ApiModelProperty(required = true, value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints v1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsKubernetesEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift.java new file mode 100644 index 0000000..042580b --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production. + */ +@ApiModel(description = "Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production.") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift { + public static final String SERIALIZED_NAME_DEPLOY_BY_DEFAULT = "deployByDefault"; + @SerializedName(SERIALIZED_NAME_DEPLOY_BY_DEFAULT) + private Boolean deployByDefault; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_INLINED = "inlined"; + @SerializedName(SERIALIZED_NAME_INLINED) + private String inlined; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift deployByDefault(Boolean deployByDefault) { + + this.deployByDefault = deployByDefault; + return this; + } + + /** + * Defines if the component should be deployed during startup. Default value is `false` + * @return deployByDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the component should be deployed during startup. Default value is `false`") + + public Boolean getDeployByDefault() { + return deployByDefault; + } + + + public void setDeployByDefault(Boolean deployByDefault) { + this.deployByDefault = deployByDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift addEndpointsItem(V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift inlined(String inlined) { + + this.inlined = inlined; + return this; + } + + /** + * Inlined manifest + * @return inlined + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Inlined manifest") + + public String getInlined() { + return inlined; + } + + + public void setInlined(String inlined) { + this.inlined = inlined; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * Location in a file fetched from a uri. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location in a file fetched from a uri.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift v1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift) o; + return Objects.equals(this.deployByDefault, v1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift.deployByDefault) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift.endpoints) && + Objects.equals(this.inlined, v1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift.inlined) && + Objects.equals(this.uri, v1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift.uri); + } + + @Override + public int hashCode() { + return Objects.hash(deployByDefault, endpoints, inlined, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshift {\n"); + sb.append(" deployByDefault: ").append(toIndentedString(deployByDefault)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" inlined: ").append(toIndentedString(inlined)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints.java new file mode 100644 index 0000000..dae9108 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints.java @@ -0,0 +1,415 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints + */ + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure = ExposureEnum.PUBLIC; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol = ProtocolEnum.HTTP; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @ApiModelProperty(required = true, value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints v1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsOpenshiftEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin.java new file mode 100644 index 0000000..b290284 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin.java @@ -0,0 +1,295 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing a plugin. Plugins are mainly imported devfiles that contribute components, commands and events as a consistent single unit. They are defined in either YAML files following the devfile syntax, or as `DevWorkspaceTemplate` Kubernetes Custom Resources + */ +@ApiModel(description = "Allows importing a plugin. Plugins are mainly imported devfiles that contribute components, commands and events as a consistent single unit. They are defined in either YAML files following the devfile syntax, or as `DevWorkspaceTemplate` Kubernetes Custom Resources") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin { + public static final String SERIALIZED_NAME_COMMANDS = "commands"; + @SerializedName(SERIALIZED_NAME_COMMANDS) + private List commands = null; + + public static final String SERIALIZED_NAME_COMPONENTS = "components"; + @SerializedName(SERIALIZED_NAME_COMPONENTS) + private List components = null; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_KUBERNETES = "kubernetes"; + @SerializedName(SERIALIZED_NAME_KUBERNETES) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes kubernetes; + + public static final String SERIALIZED_NAME_REGISTRY_URL = "registryUrl"; + @SerializedName(SERIALIZED_NAME_REGISTRY_URL) + private String registryUrl; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private String version; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin commands(List commands) { + + this.commands = commands; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin addCommandsItem(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands commandsItem) { + if (this.commands == null) { + this.commands = new ArrayList<>(); + } + this.commands.add(commandsItem); + return this; + } + + /** + * Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. + * @return commands + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules.") + + public List getCommands() { + return commands; + } + + + public void setCommands(List commands) { + this.commands = commands; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin components(List components) { + + this.components = components; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin addComponentsItem(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents componentsItem) { + if (this.components == null) { + this.components = new ArrayList<>(); + } + this.components.add(componentsItem); + return this; + } + + /** + * Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. + * @return components + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules.") + + public List getComponents() { + return components; + } + + + public void setComponents(List components) { + this.components = components; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin id(String id) { + + this.id = id; + return this; + } + + /** + * Id in a registry that contains a Devfile yaml file + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Id in a registry that contains a Devfile yaml file") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin kubernetes(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes kubernetes) { + + this.kubernetes = kubernetes; + return this; + } + + /** + * Get kubernetes + * @return kubernetes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes getKubernetes() { + return kubernetes; + } + + + public void setKubernetes(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes kubernetes) { + this.kubernetes = kubernetes; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin registryUrl(String registryUrl) { + + this.registryUrl = registryUrl; + return this; + } + + /** + * Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used. + * @return registryUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used.") + + public String getRegistryUrl() { + return registryUrl; + } + + + public void setRegistryUrl(String registryUrl) { + this.registryUrl = registryUrl; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin version(String version) { + + this.version = version; + return this; + } + + /** + * Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used. + * @return version + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used.") + + public String getVersion() { + return version; + } + + + public void setVersion(String version) { + this.version = version; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin v1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin) o; + return Objects.equals(this.commands, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin.commands) && + Objects.equals(this.components, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin.components) && + Objects.equals(this.id, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin.id) && + Objects.equals(this.kubernetes, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin.kubernetes) && + Objects.equals(this.registryUrl, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin.registryUrl) && + Objects.equals(this.uri, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin.uri) && + Objects.equals(this.version, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin.version); + } + + @Override + public int hashCode() { + return Objects.hash(commands, components, id, kubernetes, registryUrl, uri, version); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPlugin {\n"); + sb.append(" commands: ").append(toIndentedString(commands)).append("\n"); + sb.append(" components: ").append(toIndentedString(components)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" kubernetes: ").append(toIndentedString(kubernetes)).append("\n"); + sb.append(" registryUrl: ").append(toIndentedString(registryUrl)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands.java new file mode 100644 index 0000000..4cffd93 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands.java @@ -0,0 +1,217 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands + */ + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands { + public static final String SERIALIZED_NAME_APPLY = "apply"; + @SerializedName(SERIALIZED_NAME_APPLY) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply apply; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_COMPOSITE = "composite"; + @SerializedName(SERIALIZED_NAME_COMPOSITE) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite composite; + + public static final String SERIALIZED_NAME_EXEC = "exec"; + @SerializedName(SERIALIZED_NAME_EXEC) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec exec; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands apply(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply apply) { + + this.apply = apply; + return this; + } + + /** + * Get apply + * @return apply + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply getApply() { + return apply; + } + + + public void setApply(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply apply) { + this.apply = apply; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands composite(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite composite) { + + this.composite = composite; + return this; + } + + /** + * Get composite + * @return composite + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite getComposite() { + return composite; + } + + + public void setComposite(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite composite) { + this.composite = composite; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands exec(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec exec) { + + this.exec = exec; + return this; + } + + /** + * Get exec + * @return exec + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec getExec() { + return exec; + } + + + public void setExec(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec exec) { + this.exec = exec; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands id(String id) { + + this.id = id; + return this; + } + + /** + * Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events. + * @return id + **/ + @ApiModelProperty(required = true, value = "Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands) o; + return Objects.equals(this.apply, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands.apply) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands.attributes) && + Objects.equals(this.composite, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands.composite) && + Objects.equals(this.exec, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands.exec) && + Objects.equals(this.id, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands.id); + } + + @Override + public int hashCode() { + return Objects.hash(apply, attributes, composite, exec, id); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommands {\n"); + sb.append(" apply: ").append(toIndentedString(apply)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" composite: ").append(toIndentedString(composite)).append("\n"); + sb.append(" exec: ").append(toIndentedString(exec)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply.java new file mode 100644 index 0000000..def1cf4 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply.java @@ -0,0 +1,159 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. + */ +@ApiModel(description = "Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false.") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply { + public static final String SERIALIZED_NAME_COMPONENT = "component"; + @SerializedName(SERIALIZED_NAME_COMPONENT) + private String component; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply component(String component) { + + this.component = component; + return this; + } + + /** + * Describes component that will be applied + * @return component + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes component that will be applied") + + public String getComponent() { + return component; + } + + + public void setComponent(String component) { + this.component = component; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply group(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply) o; + return Objects.equals(this.component, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply.component) && + Objects.equals(this.group, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply.group) && + Objects.equals(this.label, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply.label); + } + + @Override + public int hashCode() { + return Objects.hash(component, group, label); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApply {\n"); + sb.append(" component: ").append(toIndentedString(component)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup.java new file mode 100644 index 0000000..c828380 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsApplyGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite.java new file mode 100644 index 0000000..f2ffdc8 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Composite command that allows executing several sub-commands either sequentially or concurrently + */ +@ApiModel(description = "Composite command that allows executing several sub-commands either sequentially or concurrently") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite { + public static final String SERIALIZED_NAME_COMMANDS = "commands"; + @SerializedName(SERIALIZED_NAME_COMMANDS) + private List commands = null; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + public static final String SERIALIZED_NAME_PARALLEL = "parallel"; + @SerializedName(SERIALIZED_NAME_PARALLEL) + private Boolean parallel; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite commands(List commands) { + + this.commands = commands; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite addCommandsItem(String commandsItem) { + if (this.commands == null) { + this.commands = new ArrayList<>(); + } + this.commands.add(commandsItem); + return this; + } + + /** + * The commands that comprise this composite command + * @return commands + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The commands that comprise this composite command") + + public List getCommands() { + return commands; + } + + + public void setCommands(List commands) { + this.commands = commands; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite group(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite parallel(Boolean parallel) { + + this.parallel = parallel; + return this; + } + + /** + * Indicates if the sub-commands should be executed concurrently + * @return parallel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates if the sub-commands should be executed concurrently") + + public Boolean getParallel() { + return parallel; + } + + + public void setParallel(Boolean parallel) { + this.parallel = parallel; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite) o; + return Objects.equals(this.commands, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite.commands) && + Objects.equals(this.group, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite.group) && + Objects.equals(this.label, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite.label) && + Objects.equals(this.parallel, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite.parallel); + } + + @Override + public int hashCode() { + return Objects.hash(commands, group, label, parallel); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsComposite {\n"); + sb.append(" commands: ").append(toIndentedString(commands)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" parallel: ").append(toIndentedString(parallel)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup.java new file mode 100644 index 0000000..cd6e6cf --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsCompositeGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec.java new file mode 100644 index 0000000..1607f30 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec.java @@ -0,0 +1,286 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CLI Command executed in an existing component container + */ +@ApiModel(description = "CLI Command executed in an existing component container") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec { + public static final String SERIALIZED_NAME_COMMAND_LINE = "commandLine"; + @SerializedName(SERIALIZED_NAME_COMMAND_LINE) + private String commandLine; + + public static final String SERIALIZED_NAME_COMPONENT = "component"; + @SerializedName(SERIALIZED_NAME_COMPONENT) + private String component; + + public static final String SERIALIZED_NAME_ENV = "env"; + @SerializedName(SERIALIZED_NAME_ENV) + private List env = null; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup group; + + public static final String SERIALIZED_NAME_HOT_RELOAD_CAPABLE = "hotReloadCapable"; + @SerializedName(SERIALIZED_NAME_HOT_RELOAD_CAPABLE) + private Boolean hotReloadCapable; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + public static final String SERIALIZED_NAME_WORKING_DIR = "workingDir"; + @SerializedName(SERIALIZED_NAME_WORKING_DIR) + private String workingDir; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec commandLine(String commandLine) { + + this.commandLine = commandLine; + return this; + } + + /** + * The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. + * @return commandLine + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one.") + + public String getCommandLine() { + return commandLine; + } + + + public void setCommandLine(String commandLine) { + this.commandLine = commandLine; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec component(String component) { + + this.component = component; + return this; + } + + /** + * Describes component to which given action relates + * @return component + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes component to which given action relates") + + public String getComponent() { + return component; + } + + + public void setComponent(String component) { + this.component = component; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec env(List env) { + + this.env = env; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec addEnvItem(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv envItem) { + if (this.env == null) { + this.env = new ArrayList<>(); + } + this.env.add(envItem); + return this; + } + + /** + * Optional list of environment variables that have to be set before running the command + * @return env + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional list of environment variables that have to be set before running the command") + + public List getEnv() { + return env; + } + + + public void setEnv(List env) { + this.env = env; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec group(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec hotReloadCapable(Boolean hotReloadCapable) { + + this.hotReloadCapable = hotReloadCapable; + return this; + } + + /** + * Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false` + * @return hotReloadCapable + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false`") + + public Boolean getHotReloadCapable() { + return hotReloadCapable; + } + + + public void setHotReloadCapable(Boolean hotReloadCapable) { + this.hotReloadCapable = hotReloadCapable; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec workingDir(String workingDir) { + + this.workingDir = workingDir; + return this; + } + + /** + * Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. + * @return workingDir + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one.") + + public String getWorkingDir() { + return workingDir; + } + + + public void setWorkingDir(String workingDir) { + this.workingDir = workingDir; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec) o; + return Objects.equals(this.commandLine, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec.commandLine) && + Objects.equals(this.component, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec.component) && + Objects.equals(this.env, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec.env) && + Objects.equals(this.group, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec.group) && + Objects.equals(this.hotReloadCapable, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec.hotReloadCapable) && + Objects.equals(this.label, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec.label) && + Objects.equals(this.workingDir, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec.workingDir); + } + + @Override + public int hashCode() { + return Objects.hash(commandLine, component, env, group, hotReloadCapable, label, workingDir); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExec {\n"); + sb.append(" commandLine: ").append(toIndentedString(commandLine)).append("\n"); + sb.append(" component: ").append(toIndentedString(component)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" hotReloadCapable: ").append(toIndentedString(hotReloadCapable)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" workingDir: ").append(toIndentedString(workingDir)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv.java new file mode 100644 index 0000000..85c03ba --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv.java @@ -0,0 +1,127 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv + */ + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv.name) && + Objects.equals(this.value, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecEnv {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup.java new file mode 100644 index 0000000..18742ce --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginCommandsItemsExecGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents.java new file mode 100644 index 0000000..d511f0d --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents.java @@ -0,0 +1,277 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents + */ + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_CONTAINER = "container"; + @SerializedName(SERIALIZED_NAME_CONTAINER) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer container; + + public static final String SERIALIZED_NAME_IMAGE = "image"; + @SerializedName(SERIALIZED_NAME_IMAGE) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage image; + + public static final String SERIALIZED_NAME_KUBERNETES = "kubernetes"; + @SerializedName(SERIALIZED_NAME_KUBERNETES) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes kubernetes; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OPENSHIFT = "openshift"; + @SerializedName(SERIALIZED_NAME_OPENSHIFT) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift openshift; + + public static final String SERIALIZED_NAME_VOLUME = "volume"; + @SerializedName(SERIALIZED_NAME_VOLUME) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume volume; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents container(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer container) { + + this.container = container; + return this; + } + + /** + * Get container + * @return container + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer getContainer() { + return container; + } + + + public void setContainer(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer container) { + this.container = container; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents image(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage image) { + + this.image = image; + return this; + } + + /** + * Get image + * @return image + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage getImage() { + return image; + } + + + public void setImage(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage image) { + this.image = image; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents kubernetes(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes kubernetes) { + + this.kubernetes = kubernetes; + return this; + } + + /** + * Get kubernetes + * @return kubernetes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes getKubernetes() { + return kubernetes; + } + + + public void setKubernetes(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes kubernetes) { + this.kubernetes = kubernetes; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents name(String name) { + + this.name = name; + return this; + } + + /** + * Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin. + * @return name + **/ + @ApiModelProperty(required = true, value = "Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents openshift(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift openshift) { + + this.openshift = openshift; + return this; + } + + /** + * Get openshift + * @return openshift + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift getOpenshift() { + return openshift; + } + + + public void setOpenshift(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift openshift) { + this.openshift = openshift; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents volume(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume volume) { + + this.volume = volume; + return this; + } + + /** + * Get volume + * @return volume + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume getVolume() { + return volume; + } + + + public void setVolume(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume volume) { + this.volume = volume; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents) o; + return Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents.attributes) && + Objects.equals(this.container, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents.container) && + Objects.equals(this.image, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents.image) && + Objects.equals(this.kubernetes, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents.kubernetes) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents.name) && + Objects.equals(this.openshift, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents.openshift) && + Objects.equals(this.volume, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents.volume); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, container, image, kubernetes, name, openshift, volume); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponents {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" container: ").append(toIndentedString(container)).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" kubernetes: ").append(toIndentedString(kubernetes)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" openshift: ").append(toIndentedString(openshift)).append("\n"); + sb.append(" volume: ").append(toIndentedString(volume)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.java new file mode 100644 index 0000000..e705179 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.java @@ -0,0 +1,523 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows adding and configuring devworkspace-related containers + */ +@ApiModel(description = "Allows adding and configuring devworkspace-related containers") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation annotation; + + public static final String SERIALIZED_NAME_ARGS = "args"; + @SerializedName(SERIALIZED_NAME_ARGS) + private List args = null; + + public static final String SERIALIZED_NAME_COMMAND = "command"; + @SerializedName(SERIALIZED_NAME_COMMAND) + private List command = null; + + public static final String SERIALIZED_NAME_CPU_LIMIT = "cpuLimit"; + @SerializedName(SERIALIZED_NAME_CPU_LIMIT) + private String cpuLimit; + + public static final String SERIALIZED_NAME_CPU_REQUEST = "cpuRequest"; + @SerializedName(SERIALIZED_NAME_CPU_REQUEST) + private String cpuRequest; + + public static final String SERIALIZED_NAME_DEDICATED_POD = "dedicatedPod"; + @SerializedName(SERIALIZED_NAME_DEDICATED_POD) + private Boolean dedicatedPod; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_ENV = "env"; + @SerializedName(SERIALIZED_NAME_ENV) + private List env = null; + + public static final String SERIALIZED_NAME_IMAGE = "image"; + @SerializedName(SERIALIZED_NAME_IMAGE) + private String image; + + public static final String SERIALIZED_NAME_MEMORY_LIMIT = "memoryLimit"; + @SerializedName(SERIALIZED_NAME_MEMORY_LIMIT) + private String memoryLimit; + + public static final String SERIALIZED_NAME_MEMORY_REQUEST = "memoryRequest"; + @SerializedName(SERIALIZED_NAME_MEMORY_REQUEST) + private String memoryRequest; + + public static final String SERIALIZED_NAME_MOUNT_SOURCES = "mountSources"; + @SerializedName(SERIALIZED_NAME_MOUNT_SOURCES) + private Boolean mountSources; + + public static final String SERIALIZED_NAME_SOURCE_MAPPING = "sourceMapping"; + @SerializedName(SERIALIZED_NAME_SOURCE_MAPPING) + private String sourceMapping; + + public static final String SERIALIZED_NAME_VOLUME_MOUNTS = "volumeMounts"; + @SerializedName(SERIALIZED_NAME_VOLUME_MOUNTS) + private List volumeMounts = null; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer annotation(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation annotation) { + + this.annotation = annotation; + return this; + } + + /** + * Get annotation + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation getAnnotation() { + return annotation; + } + + + public void setAnnotation(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer args(List args) { + + this.args = args; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer addArgsItem(String argsItem) { + if (this.args == null) { + this.args = new ArrayList<>(); + } + this.args.add(argsItem); + return this; + } + + /** + * The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image. + * @return args + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image.") + + public List getArgs() { + return args; + } + + + public void setArgs(List args) { + this.args = args; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer command(List command) { + + this.command = command; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer addCommandItem(String commandItem) { + if (this.command == null) { + this.command = new ArrayList<>(); + } + this.command.add(commandItem); + return this; + } + + /** + * The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image. + * @return command + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image.") + + public List getCommand() { + return command; + } + + + public void setCommand(List command) { + this.command = command; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer cpuLimit(String cpuLimit) { + + this.cpuLimit = cpuLimit; + return this; + } + + /** + * Get cpuLimit + * @return cpuLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCpuLimit() { + return cpuLimit; + } + + + public void setCpuLimit(String cpuLimit) { + this.cpuLimit = cpuLimit; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer cpuRequest(String cpuRequest) { + + this.cpuRequest = cpuRequest; + return this; + } + + /** + * Get cpuRequest + * @return cpuRequest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCpuRequest() { + return cpuRequest; + } + + + public void setCpuRequest(String cpuRequest) { + this.cpuRequest = cpuRequest; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer dedicatedPod(Boolean dedicatedPod) { + + this.dedicatedPod = dedicatedPod; + return this; + } + + /** + * Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false` + * @return dedicatedPod + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false`") + + public Boolean getDedicatedPod() { + return dedicatedPod; + } + + + public void setDedicatedPod(Boolean dedicatedPod) { + this.dedicatedPod = dedicatedPod; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer addEndpointsItem(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer env(List env) { + + this.env = env; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer addEnvItem(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv envItem) { + if (this.env == null) { + this.env = new ArrayList<>(); + } + this.env.add(envItem); + return this; + } + + /** + * Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE` + * @return env + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE`") + + public List getEnv() { + return env; + } + + + public void setEnv(List env) { + this.env = env; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer image(String image) { + + this.image = image; + return this; + } + + /** + * Get image + * @return image + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getImage() { + return image; + } + + + public void setImage(String image) { + this.image = image; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer memoryLimit(String memoryLimit) { + + this.memoryLimit = memoryLimit; + return this; + } + + /** + * Get memoryLimit + * @return memoryLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMemoryLimit() { + return memoryLimit; + } + + + public void setMemoryLimit(String memoryLimit) { + this.memoryLimit = memoryLimit; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer memoryRequest(String memoryRequest) { + + this.memoryRequest = memoryRequest; + return this; + } + + /** + * Get memoryRequest + * @return memoryRequest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMemoryRequest() { + return memoryRequest; + } + + + public void setMemoryRequest(String memoryRequest) { + this.memoryRequest = memoryRequest; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer mountSources(Boolean mountSources) { + + this.mountSources = mountSources; + return this; + } + + /** + * Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. + * @return mountSources + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true.") + + public Boolean getMountSources() { + return mountSources; + } + + + public void setMountSources(Boolean mountSources) { + this.mountSources = mountSources; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer sourceMapping(String sourceMapping) { + + this.sourceMapping = sourceMapping; + return this; + } + + /** + * Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used. + * @return sourceMapping + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used.") + + public String getSourceMapping() { + return sourceMapping; + } + + + public void setSourceMapping(String sourceMapping) { + this.sourceMapping = sourceMapping; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer volumeMounts(List volumeMounts) { + + this.volumeMounts = volumeMounts; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer addVolumeMountsItem(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts volumeMountsItem) { + if (this.volumeMounts == null) { + this.volumeMounts = new ArrayList<>(); + } + this.volumeMounts.add(volumeMountsItem); + return this; + } + + /** + * List of volumes mounts that should be mounted is this container. + * @return volumeMounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of volumes mounts that should be mounted is this container.") + + public List getVolumeMounts() { + return volumeMounts; + } + + + public void setVolumeMounts(List volumeMounts) { + this.volumeMounts = volumeMounts; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.annotation) && + Objects.equals(this.args, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.args) && + Objects.equals(this.command, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.command) && + Objects.equals(this.cpuLimit, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.cpuLimit) && + Objects.equals(this.cpuRequest, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.cpuRequest) && + Objects.equals(this.dedicatedPod, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.dedicatedPod) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.endpoints) && + Objects.equals(this.env, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.env) && + Objects.equals(this.image, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.image) && + Objects.equals(this.memoryLimit, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.memoryLimit) && + Objects.equals(this.memoryRequest, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.memoryRequest) && + Objects.equals(this.mountSources, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.mountSources) && + Objects.equals(this.sourceMapping, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.sourceMapping) && + Objects.equals(this.volumeMounts, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer.volumeMounts); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, args, command, cpuLimit, cpuRequest, dedicatedPod, endpoints, env, image, memoryLimit, memoryRequest, mountSources, sourceMapping, volumeMounts); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainer {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" args: ").append(toIndentedString(args)).append("\n"); + sb.append(" command: ").append(toIndentedString(command)).append("\n"); + sb.append(" cpuLimit: ").append(toIndentedString(cpuLimit)).append("\n"); + sb.append(" cpuRequest: ").append(toIndentedString(cpuRequest)).append("\n"); + sb.append(" dedicatedPod: ").append(toIndentedString(dedicatedPod)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" memoryLimit: ").append(toIndentedString(memoryLimit)).append("\n"); + sb.append(" memoryRequest: ").append(toIndentedString(memoryRequest)).append("\n"); + sb.append(" mountSources: ").append(toIndentedString(mountSources)).append("\n"); + sb.append(" sourceMapping: ").append(toIndentedString(sourceMapping)).append("\n"); + sb.append(" volumeMounts: ").append(toIndentedString(volumeMounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation.java new file mode 100644 index 0000000..ac766e8 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation.java @@ -0,0 +1,148 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Annotations that should be added to specific resources for this container + */ +@ApiModel(description = "Annotations that should be added to specific resources for this container") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation { + public static final String SERIALIZED_NAME_DEPLOYMENT = "deployment"; + @SerializedName(SERIALIZED_NAME_DEPLOYMENT) + private Map deployment = null; + + public static final String SERIALIZED_NAME_SERVICE = "service"; + @SerializedName(SERIALIZED_NAME_SERVICE) + private Map service = null; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation deployment(Map deployment) { + + this.deployment = deployment; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation putDeploymentItem(String key, String deploymentItem) { + if (this.deployment == null) { + this.deployment = new HashMap<>(); + } + this.deployment.put(key, deploymentItem); + return this; + } + + /** + * Annotations to be added to deployment + * @return deployment + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to deployment") + + public Map getDeployment() { + return deployment; + } + + + public void setDeployment(Map deployment) { + this.deployment = deployment; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation service(Map service) { + + this.service = service; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation putServiceItem(String key, String serviceItem) { + if (this.service == null) { + this.service = new HashMap<>(); + } + this.service.put(key, serviceItem); + return this; + } + + /** + * Annotations to be added to service + * @return service + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to service") + + public Map getService() { + return service; + } + + + public void setService(Map service) { + this.service = service; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation) o; + return Objects.equals(this.deployment, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation.deployment) && + Objects.equals(this.service, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation.service); + } + + @Override + public int hashCode() { + return Objects.hash(deployment, service); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerAnnotation {\n"); + sb.append(" deployment: ").append(toIndentedString(deployment)).append("\n"); + sb.append(" service: ").append(toIndentedString(service)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints.java new file mode 100644 index 0000000..34c2a0c --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints + */ + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv.java new file mode 100644 index 0000000..735b04f --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv.java @@ -0,0 +1,127 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv + */ + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv.name) && + Objects.equals(this.value, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerEnv {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts.java new file mode 100644 index 0000000..de448d4 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts.java @@ -0,0 +1,128 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Volume that should be mounted to a component container + */ +@ApiModel(description = "Volume that should be mounted to a component container") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts name(String name) { + + this.name = name; + return this; + } + + /** + * The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files. + * @return name + **/ + @ApiModelProperty(required = true, value = "The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts path(String path) { + + this.path = path; + return this; + } + + /** + * The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/<name>`. + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/`.") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts.path); + } + + @Override + public int hashCode() { + return Objects.hash(name, path); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsContainerVolumeMounts {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage.java new file mode 100644 index 0000000..7373200 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage.java @@ -0,0 +1,159 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the definition of an image for outer loop builds + */ +@ApiModel(description = "Allows specifying the definition of an image for outer loop builds") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage { + public static final String SERIALIZED_NAME_AUTO_BUILD = "autoBuild"; + @SerializedName(SERIALIZED_NAME_AUTO_BUILD) + private Boolean autoBuild; + + public static final String SERIALIZED_NAME_DOCKERFILE = "dockerfile"; + @SerializedName(SERIALIZED_NAME_DOCKERFILE) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile dockerfile; + + public static final String SERIALIZED_NAME_IMAGE_NAME = "imageName"; + @SerializedName(SERIALIZED_NAME_IMAGE_NAME) + private String imageName; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage autoBuild(Boolean autoBuild) { + + this.autoBuild = autoBuild; + return this; + } + + /** + * Defines if the image should be built during startup. Default value is `false` + * @return autoBuild + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the image should be built during startup. Default value is `false`") + + public Boolean getAutoBuild() { + return autoBuild; + } + + + public void setAutoBuild(Boolean autoBuild) { + this.autoBuild = autoBuild; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage dockerfile(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile dockerfile) { + + this.dockerfile = dockerfile; + return this; + } + + /** + * Get dockerfile + * @return dockerfile + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile getDockerfile() { + return dockerfile; + } + + + public void setDockerfile(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile dockerfile) { + this.dockerfile = dockerfile; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage imageName(String imageName) { + + this.imageName = imageName; + return this; + } + + /** + * Name of the image for the resulting outerloop build + * @return imageName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Name of the image for the resulting outerloop build") + + public String getImageName() { + return imageName; + } + + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage) o; + return Objects.equals(this.autoBuild, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage.autoBuild) && + Objects.equals(this.dockerfile, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage.dockerfile) && + Objects.equals(this.imageName, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage.imageName); + } + + @Override + public int hashCode() { + return Objects.hash(autoBuild, dockerfile, imageName); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImage {\n"); + sb.append(" autoBuild: ").append(toIndentedString(autoBuild)).append("\n"); + sb.append(" dockerfile: ").append(toIndentedString(dockerfile)).append("\n"); + sb.append(" imageName: ").append(toIndentedString(imageName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile.java new file mode 100644 index 0000000..5690d46 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile.java @@ -0,0 +1,257 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows specifying dockerfile type build + */ +@ApiModel(description = "Allows specifying dockerfile type build") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile { + public static final String SERIALIZED_NAME_ARGS = "args"; + @SerializedName(SERIALIZED_NAME_ARGS) + private List args = null; + + public static final String SERIALIZED_NAME_BUILD_CONTEXT = "buildContext"; + @SerializedName(SERIALIZED_NAME_BUILD_CONTEXT) + private String buildContext; + + public static final String SERIALIZED_NAME_DEVFILE_REGISTRY = "devfileRegistry"; + @SerializedName(SERIALIZED_NAME_DEVFILE_REGISTRY) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry devfileRegistry; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit git; + + public static final String SERIALIZED_NAME_ROOT_REQUIRED = "rootRequired"; + @SerializedName(SERIALIZED_NAME_ROOT_REQUIRED) + private Boolean rootRequired; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile args(List args) { + + this.args = args; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile addArgsItem(String argsItem) { + if (this.args == null) { + this.args = new ArrayList<>(); + } + this.args.add(argsItem); + return this; + } + + /** + * The arguments to supply to the dockerfile build. + * @return args + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The arguments to supply to the dockerfile build.") + + public List getArgs() { + return args; + } + + + public void setArgs(List args) { + this.args = args; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile buildContext(String buildContext) { + + this.buildContext = buildContext; + return this; + } + + /** + * Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container + * @return buildContext + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container") + + public String getBuildContext() { + return buildContext; + } + + + public void setBuildContext(String buildContext) { + this.buildContext = buildContext; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile devfileRegistry(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry devfileRegistry) { + + this.devfileRegistry = devfileRegistry; + return this; + } + + /** + * Get devfileRegistry + * @return devfileRegistry + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry getDevfileRegistry() { + return devfileRegistry; + } + + + public void setDevfileRegistry(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry devfileRegistry) { + this.devfileRegistry = devfileRegistry; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile git(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit getGit() { + return git; + } + + + public void setGit(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit git) { + this.git = git; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile rootRequired(Boolean rootRequired) { + + this.rootRequired = rootRequired; + return this; + } + + /** + * Specify if a privileged builder pod is required. Default value is `false` + * @return rootRequired + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify if a privileged builder pod is required. Default value is `false`") + + public Boolean getRootRequired() { + return rootRequired; + } + + + public void setRootRequired(Boolean rootRequired) { + this.rootRequired = rootRequired; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile) o; + return Objects.equals(this.args, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile.args) && + Objects.equals(this.buildContext, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile.buildContext) && + Objects.equals(this.devfileRegistry, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile.devfileRegistry) && + Objects.equals(this.git, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile.git) && + Objects.equals(this.rootRequired, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile.rootRequired) && + Objects.equals(this.uri, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile.uri); + } + + @Override + public int hashCode() { + return Objects.hash(args, buildContext, devfileRegistry, git, rootRequired, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfile {\n"); + sb.append(" args: ").append(toIndentedString(args)).append("\n"); + sb.append(" buildContext: ").append(toIndentedString(buildContext)).append("\n"); + sb.append(" devfileRegistry: ").append(toIndentedString(devfileRegistry)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" rootRequired: ").append(toIndentedString(rootRequired)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.java new file mode 100644 index 0000000..2930184 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Dockerfile's Devfile Registry source + */ +@ApiModel(description = "Dockerfile's Devfile Registry source") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_REGISTRY_URL = "registryUrl"; + @SerializedName(SERIALIZED_NAME_REGISTRY_URL) + private String registryUrl; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry id(String id) { + + this.id = id; + return this; + } + + /** + * Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image. + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry registryUrl(String registryUrl) { + + this.registryUrl = registryUrl; + return this; + } + + /** + * Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used. + * @return registryUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used.") + + public String getRegistryUrl() { + return registryUrl; + } + + + public void setRegistryUrl(String registryUrl) { + this.registryUrl = registryUrl; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry) o; + return Objects.equals(this.id, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.id) && + Objects.equals(this.registryUrl, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.registryUrl); + } + + @Override + public int hashCode() { + return Objects.hash(id, registryUrl); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" registryUrl: ").append(toIndentedString(registryUrl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit.java new file mode 100644 index 0000000..849619f --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit.java @@ -0,0 +1,170 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Dockerfile's Git source + */ +@ApiModel(description = "Dockerfile's Git source") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_FILE_LOCATION = "fileLocation"; + @SerializedName(SERIALIZED_NAME_FILE_LOCATION) + private String fileLocation; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = null; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit checkoutFrom(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit fileLocation(String fileLocation) { + + this.fileLocation = fileLocation; + return this; + } + + /** + * Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile. + * @return fileLocation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile.") + + public String getFileLocation() { + return fileLocation; + } + + + public void setFileLocation(String fileLocation) { + this.fileLocation = fileLocation; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit putRemotesItem(String key, String remotesItem) { + if (this.remotes == null) { + this.remotes = new HashMap<>(); + } + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit) o; + return Objects.equals(this.checkoutFrom, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit.checkoutFrom) && + Objects.equals(this.fileLocation, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit.fileLocation) && + Objects.equals(this.remotes, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, fileLocation, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" fileLocation: ").append(toIndentedString(fileLocation)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.java new file mode 100644 index 0000000..06cfa38 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom) o; + return Objects.equals(this.remote, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.remote) && + Objects.equals(this.revision, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes.java new file mode 100644 index 0000000..950b3ef --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production. + */ +@ApiModel(description = "Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production.") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes { + public static final String SERIALIZED_NAME_DEPLOY_BY_DEFAULT = "deployByDefault"; + @SerializedName(SERIALIZED_NAME_DEPLOY_BY_DEFAULT) + private Boolean deployByDefault; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_INLINED = "inlined"; + @SerializedName(SERIALIZED_NAME_INLINED) + private String inlined; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes deployByDefault(Boolean deployByDefault) { + + this.deployByDefault = deployByDefault; + return this; + } + + /** + * Defines if the component should be deployed during startup. Default value is `false` + * @return deployByDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the component should be deployed during startup. Default value is `false`") + + public Boolean getDeployByDefault() { + return deployByDefault; + } + + + public void setDeployByDefault(Boolean deployByDefault) { + this.deployByDefault = deployByDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes addEndpointsItem(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes inlined(String inlined) { + + this.inlined = inlined; + return this; + } + + /** + * Inlined manifest + * @return inlined + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Inlined manifest") + + public String getInlined() { + return inlined; + } + + + public void setInlined(String inlined) { + this.inlined = inlined; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * Location in a file fetched from a uri. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location in a file fetched from a uri.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes) o; + return Objects.equals(this.deployByDefault, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes.deployByDefault) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes.endpoints) && + Objects.equals(this.inlined, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes.inlined) && + Objects.equals(this.uri, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes.uri); + } + + @Override + public int hashCode() { + return Objects.hash(deployByDefault, endpoints, inlined, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetes {\n"); + sb.append(" deployByDefault: ").append(toIndentedString(deployByDefault)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" inlined: ").append(toIndentedString(inlined)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints.java new file mode 100644 index 0000000..d18d260 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints + */ + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsKubernetesEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift.java new file mode 100644 index 0000000..d43e205 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production. + */ +@ApiModel(description = "Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production.") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift { + public static final String SERIALIZED_NAME_DEPLOY_BY_DEFAULT = "deployByDefault"; + @SerializedName(SERIALIZED_NAME_DEPLOY_BY_DEFAULT) + private Boolean deployByDefault; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_INLINED = "inlined"; + @SerializedName(SERIALIZED_NAME_INLINED) + private String inlined; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift deployByDefault(Boolean deployByDefault) { + + this.deployByDefault = deployByDefault; + return this; + } + + /** + * Defines if the component should be deployed during startup. Default value is `false` + * @return deployByDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the component should be deployed during startup. Default value is `false`") + + public Boolean getDeployByDefault() { + return deployByDefault; + } + + + public void setDeployByDefault(Boolean deployByDefault) { + this.deployByDefault = deployByDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift addEndpointsItem(V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift inlined(String inlined) { + + this.inlined = inlined; + return this; + } + + /** + * Inlined manifest + * @return inlined + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Inlined manifest") + + public String getInlined() { + return inlined; + } + + + public void setInlined(String inlined) { + this.inlined = inlined; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * Location in a file fetched from a uri. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location in a file fetched from a uri.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift) o; + return Objects.equals(this.deployByDefault, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift.deployByDefault) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift.endpoints) && + Objects.equals(this.inlined, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift.inlined) && + Objects.equals(this.uri, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift.uri); + } + + @Override + public int hashCode() { + return Objects.hash(deployByDefault, endpoints, inlined, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshift {\n"); + sb.append(" deployByDefault: ").append(toIndentedString(deployByDefault)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" inlined: ").append(toIndentedString(inlined)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints.java new file mode 100644 index 0000000..1f9b53c --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints + */ + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsOpenshiftEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume.java new file mode 100644 index 0000000..81c279a --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the definition of a volume shared by several other components + */ +@ApiModel(description = "Allows specifying the definition of a volume shared by several other components") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume { + public static final String SERIALIZED_NAME_EPHEMERAL = "ephemeral"; + @SerializedName(SERIALIZED_NAME_EPHEMERAL) + private Boolean ephemeral; + + public static final String SERIALIZED_NAME_SIZE = "size"; + @SerializedName(SERIALIZED_NAME_SIZE) + private String size; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume ephemeral(Boolean ephemeral) { + + this.ephemeral = ephemeral; + return this; + } + + /** + * Ephemeral volumes are not stored persistently across restarts. Defaults to false + * @return ephemeral + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Ephemeral volumes are not stored persistently across restarts. Defaults to false") + + public Boolean getEphemeral() { + return ephemeral; + } + + + public void setEphemeral(Boolean ephemeral) { + this.ephemeral = ephemeral; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume size(String size) { + + this.size = size; + return this; + } + + /** + * Size of the volume + * @return size + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Size of the volume") + + public String getSize() { + return size; + } + + + public void setSize(String size) { + this.size = size; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume) o; + return Objects.equals(this.ephemeral, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume.ephemeral) && + Objects.equals(this.size, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume.size); + } + + @Override + public int hashCode() { + return Objects.hash(ephemeral, size); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginComponentsItemsVolume {\n"); + sb.append(" ephemeral: ").append(toIndentedString(ephemeral)).append("\n"); + sb.append(" size: ").append(toIndentedString(size)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes.java new file mode 100644 index 0000000..3612a35 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes.java @@ -0,0 +1,128 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Reference to a Kubernetes CRD of type DevWorkspaceTemplate + */ +@ApiModel(description = "Reference to a Kubernetes CRD of type DevWorkspaceTemplate") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_NAMESPACE = "namespace"; + @SerializedName(SERIALIZED_NAME_NAMESPACE) + private String namespace; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes namespace(String namespace) { + + this.namespace = namespace; + return this; + } + + /** + * Get namespace + * @return namespace + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getNamespace() { + return namespace; + } + + + public void setNamespace(String namespace) { + this.namespace = namespace; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes.name) && + Objects.equals(this.namespace, v1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes.namespace); + } + + @Override + public int hashCode() { + return Objects.hash(name, namespace); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsPluginKubernetes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" namespace: ").append(toIndentedString(namespace)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume.java new file mode 100644 index 0000000..f71d7a4 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the definition of a volume shared by several other components + */ +@ApiModel(description = "Allows specifying the definition of a volume shared by several other components") + +public class V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume { + public static final String SERIALIZED_NAME_EPHEMERAL = "ephemeral"; + @SerializedName(SERIALIZED_NAME_EPHEMERAL) + private Boolean ephemeral; + + public static final String SERIALIZED_NAME_SIZE = "size"; + @SerializedName(SERIALIZED_NAME_SIZE) + private String size; + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume ephemeral(Boolean ephemeral) { + + this.ephemeral = ephemeral; + return this; + } + + /** + * Ephemeral volumes are not stored persistently across restarts. Defaults to false + * @return ephemeral + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Ephemeral volumes are not stored persistently across restarts. Defaults to false") + + public Boolean getEphemeral() { + return ephemeral; + } + + + public void setEphemeral(Boolean ephemeral) { + this.ephemeral = ephemeral; + } + + + public V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume size(String size) { + + this.size = size; + return this; + } + + /** + * Size of the volume + * @return size + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Size of the volume") + + public String getSize() { + return size; + } + + + public void setSize(String size) { + this.size = size; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume v1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume = (V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume) o; + return Objects.equals(this.ephemeral, v1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume.ephemeral) && + Objects.equals(this.size, v1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume.size); + } + + @Override + public int hashCode() { + return Objects.hash(ephemeral, size); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecComponentsItemsVolume {\n"); + sb.append(" ephemeral: ").append(toIndentedString(ephemeral)).append("\n"); + sb.append(" size: ").append(toIndentedString(size)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecEvents.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecEvents.java new file mode 100644 index 0000000..511735f --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecEvents.java @@ -0,0 +1,221 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Bindings of commands to events. Each command is referred-to by its name. + */ +@ApiModel(description = "Bindings of commands to events. Each command is referred-to by its name.") + +public class V1alpha2DevWorkspaceTemplateSpecEvents { + public static final String SERIALIZED_NAME_POST_START = "postStart"; + @SerializedName(SERIALIZED_NAME_POST_START) + private List postStart = null; + + public static final String SERIALIZED_NAME_POST_STOP = "postStop"; + @SerializedName(SERIALIZED_NAME_POST_STOP) + private List postStop = null; + + public static final String SERIALIZED_NAME_PRE_START = "preStart"; + @SerializedName(SERIALIZED_NAME_PRE_START) + private List preStart = null; + + public static final String SERIALIZED_NAME_PRE_STOP = "preStop"; + @SerializedName(SERIALIZED_NAME_PRE_STOP) + private List preStop = null; + + + public V1alpha2DevWorkspaceTemplateSpecEvents postStart(List postStart) { + + this.postStart = postStart; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecEvents addPostStartItem(String postStartItem) { + if (this.postStart == null) { + this.postStart = new ArrayList<>(); + } + this.postStart.add(postStartItem); + return this; + } + + /** + * IDs of commands that should be executed after the devworkspace is completely started. In the case of Che-Theia, these commands should be executed after all plugins and extensions have started, including project cloning. This means that those commands are not triggered until the user opens the IDE in his browser. + * @return postStart + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "IDs of commands that should be executed after the devworkspace is completely started. In the case of Che-Theia, these commands should be executed after all plugins and extensions have started, including project cloning. This means that those commands are not triggered until the user opens the IDE in his browser.") + + public List getPostStart() { + return postStart; + } + + + public void setPostStart(List postStart) { + this.postStart = postStart; + } + + + public V1alpha2DevWorkspaceTemplateSpecEvents postStop(List postStop) { + + this.postStop = postStop; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecEvents addPostStopItem(String postStopItem) { + if (this.postStop == null) { + this.postStop = new ArrayList<>(); + } + this.postStop.add(postStopItem); + return this; + } + + /** + * IDs of commands that should be executed after stopping the devworkspace. + * @return postStop + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "IDs of commands that should be executed after stopping the devworkspace.") + + public List getPostStop() { + return postStop; + } + + + public void setPostStop(List postStop) { + this.postStop = postStop; + } + + + public V1alpha2DevWorkspaceTemplateSpecEvents preStart(List preStart) { + + this.preStart = preStart; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecEvents addPreStartItem(String preStartItem) { + if (this.preStart == null) { + this.preStart = new ArrayList<>(); + } + this.preStart.add(preStartItem); + return this; + } + + /** + * IDs of commands that should be executed before the devworkspace start. Kubernetes-wise, these commands would typically be executed in init containers of the devworkspace POD. + * @return preStart + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "IDs of commands that should be executed before the devworkspace start. Kubernetes-wise, these commands would typically be executed in init containers of the devworkspace POD.") + + public List getPreStart() { + return preStart; + } + + + public void setPreStart(List preStart) { + this.preStart = preStart; + } + + + public V1alpha2DevWorkspaceTemplateSpecEvents preStop(List preStop) { + + this.preStop = preStop; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecEvents addPreStopItem(String preStopItem) { + if (this.preStop == null) { + this.preStop = new ArrayList<>(); + } + this.preStop.add(preStopItem); + return this; + } + + /** + * IDs of commands that should be executed before stopping the devworkspace. + * @return preStop + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "IDs of commands that should be executed before stopping the devworkspace.") + + public List getPreStop() { + return preStop; + } + + + public void setPreStop(List preStop) { + this.preStop = preStop; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecEvents v1alpha2DevWorkspaceTemplateSpecEvents = (V1alpha2DevWorkspaceTemplateSpecEvents) o; + return Objects.equals(this.postStart, v1alpha2DevWorkspaceTemplateSpecEvents.postStart) && + Objects.equals(this.postStop, v1alpha2DevWorkspaceTemplateSpecEvents.postStop) && + Objects.equals(this.preStart, v1alpha2DevWorkspaceTemplateSpecEvents.preStart) && + Objects.equals(this.preStop, v1alpha2DevWorkspaceTemplateSpecEvents.preStop); + } + + @Override + public int hashCode() { + return Objects.hash(postStart, postStop, preStart, preStop); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecEvents {\n"); + sb.append(" postStart: ").append(toIndentedString(postStart)).append("\n"); + sb.append(" postStop: ").append(toIndentedString(postStop)).append("\n"); + sb.append(" preStart: ").append(toIndentedString(preStart)).append("\n"); + sb.append(" preStop: ").append(toIndentedString(preStop)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParent.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParent.java new file mode 100644 index 0000000..0d8a336 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParent.java @@ -0,0 +1,439 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentCommands; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponents; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentKubernetes; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentProjects; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentStarterProjects; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Parent devworkspace template + */ +@ApiModel(description = "Parent devworkspace template") + +public class V1alpha2DevWorkspaceTemplateSpecParent { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_COMMANDS = "commands"; + @SerializedName(SERIALIZED_NAME_COMMANDS) + private List commands = null; + + public static final String SERIALIZED_NAME_COMPONENTS = "components"; + @SerializedName(SERIALIZED_NAME_COMPONENTS) + private List components = null; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_KUBERNETES = "kubernetes"; + @SerializedName(SERIALIZED_NAME_KUBERNETES) + private V1alpha2DevWorkspaceTemplateSpecParentKubernetes kubernetes; + + public static final String SERIALIZED_NAME_PROJECTS = "projects"; + @SerializedName(SERIALIZED_NAME_PROJECTS) + private List projects = null; + + public static final String SERIALIZED_NAME_REGISTRY_URL = "registryUrl"; + @SerializedName(SERIALIZED_NAME_REGISTRY_URL) + private String registryUrl; + + public static final String SERIALIZED_NAME_STARTER_PROJECTS = "starterProjects"; + @SerializedName(SERIALIZED_NAME_STARTER_PROJECTS) + private List starterProjects = null; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + public static final String SERIALIZED_NAME_VARIABLES = "variables"; + @SerializedName(SERIALIZED_NAME_VARIABLES) + private Map variables = null; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private String version; + + + public V1alpha2DevWorkspaceTemplateSpecParent attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Overrides of attributes encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of attributes encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecParent commands(List commands) { + + this.commands = commands; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParent addCommandsItem(V1alpha2DevWorkspaceTemplateSpecParentCommands commandsItem) { + if (this.commands == null) { + this.commands = new ArrayList<>(); + } + this.commands.add(commandsItem); + return this; + } + + /** + * Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. + * @return commands + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules.") + + public List getCommands() { + return commands; + } + + + public void setCommands(List commands) { + this.commands = commands; + } + + + public V1alpha2DevWorkspaceTemplateSpecParent components(List components) { + + this.components = components; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParent addComponentsItem(V1alpha2DevWorkspaceTemplateSpecParentComponents componentsItem) { + if (this.components == null) { + this.components = new ArrayList<>(); + } + this.components.add(componentsItem); + return this; + } + + /** + * Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. + * @return components + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules.") + + public List getComponents() { + return components; + } + + + public void setComponents(List components) { + this.components = components; + } + + + public V1alpha2DevWorkspaceTemplateSpecParent id(String id) { + + this.id = id; + return this; + } + + /** + * Id in a registry that contains a Devfile yaml file + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Id in a registry that contains a Devfile yaml file") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public V1alpha2DevWorkspaceTemplateSpecParent kubernetes(V1alpha2DevWorkspaceTemplateSpecParentKubernetes kubernetes) { + + this.kubernetes = kubernetes; + return this; + } + + /** + * Get kubernetes + * @return kubernetes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentKubernetes getKubernetes() { + return kubernetes; + } + + + public void setKubernetes(V1alpha2DevWorkspaceTemplateSpecParentKubernetes kubernetes) { + this.kubernetes = kubernetes; + } + + + public V1alpha2DevWorkspaceTemplateSpecParent projects(List projects) { + + this.projects = projects; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParent addProjectsItem(V1alpha2DevWorkspaceTemplateSpecParentProjects projectsItem) { + if (this.projects == null) { + this.projects = new ArrayList<>(); + } + this.projects.add(projectsItem); + return this; + } + + /** + * Overrides of projects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. + * @return projects + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of projects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules.") + + public List getProjects() { + return projects; + } + + + public void setProjects(List projects) { + this.projects = projects; + } + + + public V1alpha2DevWorkspaceTemplateSpecParent registryUrl(String registryUrl) { + + this.registryUrl = registryUrl; + return this; + } + + /** + * Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used. + * @return registryUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used.") + + public String getRegistryUrl() { + return registryUrl; + } + + + public void setRegistryUrl(String registryUrl) { + this.registryUrl = registryUrl; + } + + + public V1alpha2DevWorkspaceTemplateSpecParent starterProjects(List starterProjects) { + + this.starterProjects = starterProjects; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParent addStarterProjectsItem(V1alpha2DevWorkspaceTemplateSpecParentStarterProjects starterProjectsItem) { + if (this.starterProjects == null) { + this.starterProjects = new ArrayList<>(); + } + this.starterProjects.add(starterProjectsItem); + return this; + } + + /** + * Overrides of starterProjects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. + * @return starterProjects + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of starterProjects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules.") + + public List getStarterProjects() { + return starterProjects; + } + + + public void setStarterProjects(List starterProjects) { + this.starterProjects = starterProjects; + } + + + public V1alpha2DevWorkspaceTemplateSpecParent uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + public V1alpha2DevWorkspaceTemplateSpecParent variables(Map variables) { + + this.variables = variables; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParent putVariablesItem(String key, String variablesItem) { + if (this.variables == null) { + this.variables = new HashMap<>(); + } + this.variables.put(key, variablesItem); + return this; + } + + /** + * Overrides of variables encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. + * @return variables + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of variables encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules.") + + public Map getVariables() { + return variables; + } + + + public void setVariables(Map variables) { + this.variables = variables; + } + + + public V1alpha2DevWorkspaceTemplateSpecParent version(String version) { + + this.version = version; + return this; + } + + /** + * Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used. + * @return version + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used.") + + public String getVersion() { + return version; + } + + + public void setVersion(String version) { + this.version = version; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParent v1alpha2DevWorkspaceTemplateSpecParent = (V1alpha2DevWorkspaceTemplateSpecParent) o; + return Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecParent.attributes) && + Objects.equals(this.commands, v1alpha2DevWorkspaceTemplateSpecParent.commands) && + Objects.equals(this.components, v1alpha2DevWorkspaceTemplateSpecParent.components) && + Objects.equals(this.id, v1alpha2DevWorkspaceTemplateSpecParent.id) && + Objects.equals(this.kubernetes, v1alpha2DevWorkspaceTemplateSpecParent.kubernetes) && + Objects.equals(this.projects, v1alpha2DevWorkspaceTemplateSpecParent.projects) && + Objects.equals(this.registryUrl, v1alpha2DevWorkspaceTemplateSpecParent.registryUrl) && + Objects.equals(this.starterProjects, v1alpha2DevWorkspaceTemplateSpecParent.starterProjects) && + Objects.equals(this.uri, v1alpha2DevWorkspaceTemplateSpecParent.uri) && + Objects.equals(this.variables, v1alpha2DevWorkspaceTemplateSpecParent.variables) && + Objects.equals(this.version, v1alpha2DevWorkspaceTemplateSpecParent.version); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, commands, components, id, kubernetes, projects, registryUrl, starterProjects, uri, variables, version); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParent {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" commands: ").append(toIndentedString(commands)).append("\n"); + sb.append(" components: ").append(toIndentedString(components)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" kubernetes: ").append(toIndentedString(kubernetes)).append("\n"); + sb.append(" projects: ").append(toIndentedString(projects)).append("\n"); + sb.append(" registryUrl: ").append(toIndentedString(registryUrl)).append("\n"); + sb.append(" starterProjects: ").append(toIndentedString(starterProjects)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append(" variables: ").append(toIndentedString(variables)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommands.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommands.java new file mode 100644 index 0000000..6d6b991 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommands.java @@ -0,0 +1,217 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceTemplateSpecParentCommands + */ + +public class V1alpha2DevWorkspaceTemplateSpecParentCommands { + public static final String SERIALIZED_NAME_APPLY = "apply"; + @SerializedName(SERIALIZED_NAME_APPLY) + private V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply apply; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_COMPOSITE = "composite"; + @SerializedName(SERIALIZED_NAME_COMPOSITE) + private V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite composite; + + public static final String SERIALIZED_NAME_EXEC = "exec"; + @SerializedName(SERIALIZED_NAME_EXEC) + private V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec exec; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + + public V1alpha2DevWorkspaceTemplateSpecParentCommands apply(V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply apply) { + + this.apply = apply; + return this; + } + + /** + * Get apply + * @return apply + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply getApply() { + return apply; + } + + + public void setApply(V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply apply) { + this.apply = apply; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentCommands attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentCommands composite(V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite composite) { + + this.composite = composite; + return this; + } + + /** + * Get composite + * @return composite + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite getComposite() { + return composite; + } + + + public void setComposite(V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite composite) { + this.composite = composite; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentCommands exec(V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec exec) { + + this.exec = exec; + return this; + } + + /** + * Get exec + * @return exec + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec getExec() { + return exec; + } + + + public void setExec(V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec exec) { + this.exec = exec; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentCommands id(String id) { + + this.id = id; + return this; + } + + /** + * Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events. + * @return id + **/ + @ApiModelProperty(required = true, value = "Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentCommands v1alpha2DevWorkspaceTemplateSpecParentCommands = (V1alpha2DevWorkspaceTemplateSpecParentCommands) o; + return Objects.equals(this.apply, v1alpha2DevWorkspaceTemplateSpecParentCommands.apply) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecParentCommands.attributes) && + Objects.equals(this.composite, v1alpha2DevWorkspaceTemplateSpecParentCommands.composite) && + Objects.equals(this.exec, v1alpha2DevWorkspaceTemplateSpecParentCommands.exec) && + Objects.equals(this.id, v1alpha2DevWorkspaceTemplateSpecParentCommands.id); + } + + @Override + public int hashCode() { + return Objects.hash(apply, attributes, composite, exec, id); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentCommands {\n"); + sb.append(" apply: ").append(toIndentedString(apply)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" composite: ").append(toIndentedString(composite)).append("\n"); + sb.append(" exec: ").append(toIndentedString(exec)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply.java new file mode 100644 index 0000000..525b392 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply.java @@ -0,0 +1,159 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. + */ +@ApiModel(description = "Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false.") + +public class V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply { + public static final String SERIALIZED_NAME_COMPONENT = "component"; + @SerializedName(SERIALIZED_NAME_COMPONENT) + private String component; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply component(String component) { + + this.component = component; + return this; + } + + /** + * Describes component that will be applied + * @return component + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes component that will be applied") + + public String getComponent() { + return component; + } + + + public void setComponent(String component) { + this.component = component; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply group(V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply = (V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply) o; + return Objects.equals(this.component, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply.component) && + Objects.equals(this.group, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply.group) && + Objects.equals(this.label, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply.label); + } + + @Override + public int hashCode() { + return Objects.hash(component, group, label); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApply {\n"); + sb.append(" component: ").append(toIndentedString(component)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup.java new file mode 100644 index 0000000..90b72c7 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup = (V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsApplyGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite.java new file mode 100644 index 0000000..ace17d8 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Composite command that allows executing several sub-commands either sequentially or concurrently + */ +@ApiModel(description = "Composite command that allows executing several sub-commands either sequentially or concurrently") + +public class V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite { + public static final String SERIALIZED_NAME_COMMANDS = "commands"; + @SerializedName(SERIALIZED_NAME_COMMANDS) + private List commands = null; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + public static final String SERIALIZED_NAME_PARALLEL = "parallel"; + @SerializedName(SERIALIZED_NAME_PARALLEL) + private Boolean parallel; + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite commands(List commands) { + + this.commands = commands; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite addCommandsItem(String commandsItem) { + if (this.commands == null) { + this.commands = new ArrayList<>(); + } + this.commands.add(commandsItem); + return this; + } + + /** + * The commands that comprise this composite command + * @return commands + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The commands that comprise this composite command") + + public List getCommands() { + return commands; + } + + + public void setCommands(List commands) { + this.commands = commands; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite group(V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite parallel(Boolean parallel) { + + this.parallel = parallel; + return this; + } + + /** + * Indicates if the sub-commands should be executed concurrently + * @return parallel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates if the sub-commands should be executed concurrently") + + public Boolean getParallel() { + return parallel; + } + + + public void setParallel(Boolean parallel) { + this.parallel = parallel; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite = (V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite) o; + return Objects.equals(this.commands, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite.commands) && + Objects.equals(this.group, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite.group) && + Objects.equals(this.label, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite.label) && + Objects.equals(this.parallel, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite.parallel); + } + + @Override + public int hashCode() { + return Objects.hash(commands, group, label, parallel); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsComposite {\n"); + sb.append(" commands: ").append(toIndentedString(commands)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" parallel: ").append(toIndentedString(parallel)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup.java new file mode 100644 index 0000000..dcf2aa1 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup = (V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsCompositeGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec.java new file mode 100644 index 0000000..fcbb833 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec.java @@ -0,0 +1,286 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CLI Command executed in an existing component container + */ +@ApiModel(description = "CLI Command executed in an existing component container") + +public class V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec { + public static final String SERIALIZED_NAME_COMMAND_LINE = "commandLine"; + @SerializedName(SERIALIZED_NAME_COMMAND_LINE) + private String commandLine; + + public static final String SERIALIZED_NAME_COMPONENT = "component"; + @SerializedName(SERIALIZED_NAME_COMPONENT) + private String component; + + public static final String SERIALIZED_NAME_ENV = "env"; + @SerializedName(SERIALIZED_NAME_ENV) + private List env = null; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup group; + + public static final String SERIALIZED_NAME_HOT_RELOAD_CAPABLE = "hotReloadCapable"; + @SerializedName(SERIALIZED_NAME_HOT_RELOAD_CAPABLE) + private Boolean hotReloadCapable; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + public static final String SERIALIZED_NAME_WORKING_DIR = "workingDir"; + @SerializedName(SERIALIZED_NAME_WORKING_DIR) + private String workingDir; + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec commandLine(String commandLine) { + + this.commandLine = commandLine; + return this; + } + + /** + * The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. + * @return commandLine + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one.") + + public String getCommandLine() { + return commandLine; + } + + + public void setCommandLine(String commandLine) { + this.commandLine = commandLine; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec component(String component) { + + this.component = component; + return this; + } + + /** + * Describes component to which given action relates + * @return component + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes component to which given action relates") + + public String getComponent() { + return component; + } + + + public void setComponent(String component) { + this.component = component; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec env(List env) { + + this.env = env; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec addEnvItem(V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv envItem) { + if (this.env == null) { + this.env = new ArrayList<>(); + } + this.env.add(envItem); + return this; + } + + /** + * Optional list of environment variables that have to be set before running the command + * @return env + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional list of environment variables that have to be set before running the command") + + public List getEnv() { + return env; + } + + + public void setEnv(List env) { + this.env = env; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec group(V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec hotReloadCapable(Boolean hotReloadCapable) { + + this.hotReloadCapable = hotReloadCapable; + return this; + } + + /** + * Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false` + * @return hotReloadCapable + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false`") + + public Boolean getHotReloadCapable() { + return hotReloadCapable; + } + + + public void setHotReloadCapable(Boolean hotReloadCapable) { + this.hotReloadCapable = hotReloadCapable; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec workingDir(String workingDir) { + + this.workingDir = workingDir; + return this; + } + + /** + * Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. + * @return workingDir + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one.") + + public String getWorkingDir() { + return workingDir; + } + + + public void setWorkingDir(String workingDir) { + this.workingDir = workingDir; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec = (V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec) o; + return Objects.equals(this.commandLine, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec.commandLine) && + Objects.equals(this.component, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec.component) && + Objects.equals(this.env, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec.env) && + Objects.equals(this.group, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec.group) && + Objects.equals(this.hotReloadCapable, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec.hotReloadCapable) && + Objects.equals(this.label, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec.label) && + Objects.equals(this.workingDir, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec.workingDir); + } + + @Override + public int hashCode() { + return Objects.hash(commandLine, component, env, group, hotReloadCapable, label, workingDir); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExec {\n"); + sb.append(" commandLine: ").append(toIndentedString(commandLine)).append("\n"); + sb.append(" component: ").append(toIndentedString(component)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" hotReloadCapable: ").append(toIndentedString(hotReloadCapable)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" workingDir: ").append(toIndentedString(workingDir)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv.java new file mode 100644 index 0000000..95359ac --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv.java @@ -0,0 +1,127 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv + */ + +public class V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv = (V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv.name) && + Objects.equals(this.value, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecEnv {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup.java new file mode 100644 index 0000000..9ed412f --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup = (V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentCommandsItemsExecGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponents.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponents.java new file mode 100644 index 0000000..c425f86 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponents.java @@ -0,0 +1,307 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceTemplateSpecParentComponents + */ + +public class V1alpha2DevWorkspaceTemplateSpecParentComponents { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_CONTAINER = "container"; + @SerializedName(SERIALIZED_NAME_CONTAINER) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer container; + + public static final String SERIALIZED_NAME_IMAGE = "image"; + @SerializedName(SERIALIZED_NAME_IMAGE) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage image; + + public static final String SERIALIZED_NAME_KUBERNETES = "kubernetes"; + @SerializedName(SERIALIZED_NAME_KUBERNETES) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes kubernetes; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OPENSHIFT = "openshift"; + @SerializedName(SERIALIZED_NAME_OPENSHIFT) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift openshift; + + public static final String SERIALIZED_NAME_PLUGIN = "plugin"; + @SerializedName(SERIALIZED_NAME_PLUGIN) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin plugin; + + public static final String SERIALIZED_NAME_VOLUME = "volume"; + @SerializedName(SERIALIZED_NAME_VOLUME) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume volume; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponents attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponents container(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer container) { + + this.container = container; + return this; + } + + /** + * Get container + * @return container + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer getContainer() { + return container; + } + + + public void setContainer(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer container) { + this.container = container; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponents image(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage image) { + + this.image = image; + return this; + } + + /** + * Get image + * @return image + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage getImage() { + return image; + } + + + public void setImage(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage image) { + this.image = image; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponents kubernetes(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes kubernetes) { + + this.kubernetes = kubernetes; + return this; + } + + /** + * Get kubernetes + * @return kubernetes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes getKubernetes() { + return kubernetes; + } + + + public void setKubernetes(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes kubernetes) { + this.kubernetes = kubernetes; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponents name(String name) { + + this.name = name; + return this; + } + + /** + * Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin. + * @return name + **/ + @ApiModelProperty(required = true, value = "Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponents openshift(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift openshift) { + + this.openshift = openshift; + return this; + } + + /** + * Get openshift + * @return openshift + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift getOpenshift() { + return openshift; + } + + + public void setOpenshift(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift openshift) { + this.openshift = openshift; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponents plugin(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin plugin) { + + this.plugin = plugin; + return this; + } + + /** + * Get plugin + * @return plugin + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin getPlugin() { + return plugin; + } + + + public void setPlugin(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin plugin) { + this.plugin = plugin; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponents volume(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume volume) { + + this.volume = volume; + return this; + } + + /** + * Get volume + * @return volume + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume getVolume() { + return volume; + } + + + public void setVolume(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume volume) { + this.volume = volume; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponents v1alpha2DevWorkspaceTemplateSpecParentComponents = (V1alpha2DevWorkspaceTemplateSpecParentComponents) o; + return Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecParentComponents.attributes) && + Objects.equals(this.container, v1alpha2DevWorkspaceTemplateSpecParentComponents.container) && + Objects.equals(this.image, v1alpha2DevWorkspaceTemplateSpecParentComponents.image) && + Objects.equals(this.kubernetes, v1alpha2DevWorkspaceTemplateSpecParentComponents.kubernetes) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecParentComponents.name) && + Objects.equals(this.openshift, v1alpha2DevWorkspaceTemplateSpecParentComponents.openshift) && + Objects.equals(this.plugin, v1alpha2DevWorkspaceTemplateSpecParentComponents.plugin) && + Objects.equals(this.volume, v1alpha2DevWorkspaceTemplateSpecParentComponents.volume); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, container, image, kubernetes, name, openshift, plugin, volume); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponents {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" container: ").append(toIndentedString(container)).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" kubernetes: ").append(toIndentedString(kubernetes)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" openshift: ").append(toIndentedString(openshift)).append("\n"); + sb.append(" plugin: ").append(toIndentedString(plugin)).append("\n"); + sb.append(" volume: ").append(toIndentedString(volume)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.java new file mode 100644 index 0000000..f11af43 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.java @@ -0,0 +1,523 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows adding and configuring devworkspace-related containers + */ +@ApiModel(description = "Allows adding and configuring devworkspace-related containers") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation annotation; + + public static final String SERIALIZED_NAME_ARGS = "args"; + @SerializedName(SERIALIZED_NAME_ARGS) + private List args = null; + + public static final String SERIALIZED_NAME_COMMAND = "command"; + @SerializedName(SERIALIZED_NAME_COMMAND) + private List command = null; + + public static final String SERIALIZED_NAME_CPU_LIMIT = "cpuLimit"; + @SerializedName(SERIALIZED_NAME_CPU_LIMIT) + private String cpuLimit; + + public static final String SERIALIZED_NAME_CPU_REQUEST = "cpuRequest"; + @SerializedName(SERIALIZED_NAME_CPU_REQUEST) + private String cpuRequest; + + public static final String SERIALIZED_NAME_DEDICATED_POD = "dedicatedPod"; + @SerializedName(SERIALIZED_NAME_DEDICATED_POD) + private Boolean dedicatedPod; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_ENV = "env"; + @SerializedName(SERIALIZED_NAME_ENV) + private List env = null; + + public static final String SERIALIZED_NAME_IMAGE = "image"; + @SerializedName(SERIALIZED_NAME_IMAGE) + private String image; + + public static final String SERIALIZED_NAME_MEMORY_LIMIT = "memoryLimit"; + @SerializedName(SERIALIZED_NAME_MEMORY_LIMIT) + private String memoryLimit; + + public static final String SERIALIZED_NAME_MEMORY_REQUEST = "memoryRequest"; + @SerializedName(SERIALIZED_NAME_MEMORY_REQUEST) + private String memoryRequest; + + public static final String SERIALIZED_NAME_MOUNT_SOURCES = "mountSources"; + @SerializedName(SERIALIZED_NAME_MOUNT_SOURCES) + private Boolean mountSources; + + public static final String SERIALIZED_NAME_SOURCE_MAPPING = "sourceMapping"; + @SerializedName(SERIALIZED_NAME_SOURCE_MAPPING) + private String sourceMapping; + + public static final String SERIALIZED_NAME_VOLUME_MOUNTS = "volumeMounts"; + @SerializedName(SERIALIZED_NAME_VOLUME_MOUNTS) + private List volumeMounts = null; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer annotation(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation annotation) { + + this.annotation = annotation; + return this; + } + + /** + * Get annotation + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation getAnnotation() { + return annotation; + } + + + public void setAnnotation(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer args(List args) { + + this.args = args; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer addArgsItem(String argsItem) { + if (this.args == null) { + this.args = new ArrayList<>(); + } + this.args.add(argsItem); + return this; + } + + /** + * The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image. + * @return args + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image.") + + public List getArgs() { + return args; + } + + + public void setArgs(List args) { + this.args = args; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer command(List command) { + + this.command = command; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer addCommandItem(String commandItem) { + if (this.command == null) { + this.command = new ArrayList<>(); + } + this.command.add(commandItem); + return this; + } + + /** + * The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image. + * @return command + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image.") + + public List getCommand() { + return command; + } + + + public void setCommand(List command) { + this.command = command; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer cpuLimit(String cpuLimit) { + + this.cpuLimit = cpuLimit; + return this; + } + + /** + * Get cpuLimit + * @return cpuLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCpuLimit() { + return cpuLimit; + } + + + public void setCpuLimit(String cpuLimit) { + this.cpuLimit = cpuLimit; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer cpuRequest(String cpuRequest) { + + this.cpuRequest = cpuRequest; + return this; + } + + /** + * Get cpuRequest + * @return cpuRequest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCpuRequest() { + return cpuRequest; + } + + + public void setCpuRequest(String cpuRequest) { + this.cpuRequest = cpuRequest; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer dedicatedPod(Boolean dedicatedPod) { + + this.dedicatedPod = dedicatedPod; + return this; + } + + /** + * Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false` + * @return dedicatedPod + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false`") + + public Boolean getDedicatedPod() { + return dedicatedPod; + } + + + public void setDedicatedPod(Boolean dedicatedPod) { + this.dedicatedPod = dedicatedPod; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer addEndpointsItem(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer env(List env) { + + this.env = env; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer addEnvItem(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv envItem) { + if (this.env == null) { + this.env = new ArrayList<>(); + } + this.env.add(envItem); + return this; + } + + /** + * Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE` + * @return env + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE`") + + public List getEnv() { + return env; + } + + + public void setEnv(List env) { + this.env = env; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer image(String image) { + + this.image = image; + return this; + } + + /** + * Get image + * @return image + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getImage() { + return image; + } + + + public void setImage(String image) { + this.image = image; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer memoryLimit(String memoryLimit) { + + this.memoryLimit = memoryLimit; + return this; + } + + /** + * Get memoryLimit + * @return memoryLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMemoryLimit() { + return memoryLimit; + } + + + public void setMemoryLimit(String memoryLimit) { + this.memoryLimit = memoryLimit; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer memoryRequest(String memoryRequest) { + + this.memoryRequest = memoryRequest; + return this; + } + + /** + * Get memoryRequest + * @return memoryRequest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMemoryRequest() { + return memoryRequest; + } + + + public void setMemoryRequest(String memoryRequest) { + this.memoryRequest = memoryRequest; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer mountSources(Boolean mountSources) { + + this.mountSources = mountSources; + return this; + } + + /** + * Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. + * @return mountSources + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true.") + + public Boolean getMountSources() { + return mountSources; + } + + + public void setMountSources(Boolean mountSources) { + this.mountSources = mountSources; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer sourceMapping(String sourceMapping) { + + this.sourceMapping = sourceMapping; + return this; + } + + /** + * Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used. + * @return sourceMapping + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used.") + + public String getSourceMapping() { + return sourceMapping; + } + + + public void setSourceMapping(String sourceMapping) { + this.sourceMapping = sourceMapping; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer volumeMounts(List volumeMounts) { + + this.volumeMounts = volumeMounts; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer addVolumeMountsItem(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts volumeMountsItem) { + if (this.volumeMounts == null) { + this.volumeMounts = new ArrayList<>(); + } + this.volumeMounts.add(volumeMountsItem); + return this; + } + + /** + * List of volumes mounts that should be mounted is this container. + * @return volumeMounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of volumes mounts that should be mounted is this container.") + + public List getVolumeMounts() { + return volumeMounts; + } + + + public void setVolumeMounts(List volumeMounts) { + this.volumeMounts = volumeMounts; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.annotation) && + Objects.equals(this.args, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.args) && + Objects.equals(this.command, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.command) && + Objects.equals(this.cpuLimit, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.cpuLimit) && + Objects.equals(this.cpuRequest, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.cpuRequest) && + Objects.equals(this.dedicatedPod, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.dedicatedPod) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.endpoints) && + Objects.equals(this.env, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.env) && + Objects.equals(this.image, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.image) && + Objects.equals(this.memoryLimit, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.memoryLimit) && + Objects.equals(this.memoryRequest, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.memoryRequest) && + Objects.equals(this.mountSources, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.mountSources) && + Objects.equals(this.sourceMapping, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.sourceMapping) && + Objects.equals(this.volumeMounts, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer.volumeMounts); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, args, command, cpuLimit, cpuRequest, dedicatedPod, endpoints, env, image, memoryLimit, memoryRequest, mountSources, sourceMapping, volumeMounts); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainer {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" args: ").append(toIndentedString(args)).append("\n"); + sb.append(" command: ").append(toIndentedString(command)).append("\n"); + sb.append(" cpuLimit: ").append(toIndentedString(cpuLimit)).append("\n"); + sb.append(" cpuRequest: ").append(toIndentedString(cpuRequest)).append("\n"); + sb.append(" dedicatedPod: ").append(toIndentedString(dedicatedPod)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" memoryLimit: ").append(toIndentedString(memoryLimit)).append("\n"); + sb.append(" memoryRequest: ").append(toIndentedString(memoryRequest)).append("\n"); + sb.append(" mountSources: ").append(toIndentedString(mountSources)).append("\n"); + sb.append(" sourceMapping: ").append(toIndentedString(sourceMapping)).append("\n"); + sb.append(" volumeMounts: ").append(toIndentedString(volumeMounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation.java new file mode 100644 index 0000000..874b3fb --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation.java @@ -0,0 +1,148 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Annotations that should be added to specific resources for this container + */ +@ApiModel(description = "Annotations that should be added to specific resources for this container") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation { + public static final String SERIALIZED_NAME_DEPLOYMENT = "deployment"; + @SerializedName(SERIALIZED_NAME_DEPLOYMENT) + private Map deployment = null; + + public static final String SERIALIZED_NAME_SERVICE = "service"; + @SerializedName(SERIALIZED_NAME_SERVICE) + private Map service = null; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation deployment(Map deployment) { + + this.deployment = deployment; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation putDeploymentItem(String key, String deploymentItem) { + if (this.deployment == null) { + this.deployment = new HashMap<>(); + } + this.deployment.put(key, deploymentItem); + return this; + } + + /** + * Annotations to be added to deployment + * @return deployment + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to deployment") + + public Map getDeployment() { + return deployment; + } + + + public void setDeployment(Map deployment) { + this.deployment = deployment; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation service(Map service) { + + this.service = service; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation putServiceItem(String key, String serviceItem) { + if (this.service == null) { + this.service = new HashMap<>(); + } + this.service.put(key, serviceItem); + return this; + } + + /** + * Annotations to be added to service + * @return service + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to service") + + public Map getService() { + return service; + } + + + public void setService(Map service) { + this.service = service; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation) o; + return Objects.equals(this.deployment, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation.deployment) && + Objects.equals(this.service, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation.service); + } + + @Override + public int hashCode() { + return Objects.hash(deployment, service); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerAnnotation {\n"); + sb.append(" deployment: ").append(toIndentedString(deployment)).append("\n"); + sb.append(" service: ").append(toIndentedString(service)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints.java new file mode 100644 index 0000000..8a15a72 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints + */ + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv.java new file mode 100644 index 0000000..812230a --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv.java @@ -0,0 +1,127 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv + */ + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv.name) && + Objects.equals(this.value, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerEnv {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts.java new file mode 100644 index 0000000..b31f20d --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts.java @@ -0,0 +1,128 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Volume that should be mounted to a component container + */ +@ApiModel(description = "Volume that should be mounted to a component container") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts name(String name) { + + this.name = name; + return this; + } + + /** + * The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files. + * @return name + **/ + @ApiModelProperty(required = true, value = "The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts path(String path) { + + this.path = path; + return this; + } + + /** + * The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/<name>`. + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/`.") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts.path); + } + + @Override + public int hashCode() { + return Objects.hash(name, path); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsContainerVolumeMounts {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage.java new file mode 100644 index 0000000..d594c57 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage.java @@ -0,0 +1,159 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the definition of an image for outer loop builds + */ +@ApiModel(description = "Allows specifying the definition of an image for outer loop builds") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage { + public static final String SERIALIZED_NAME_AUTO_BUILD = "autoBuild"; + @SerializedName(SERIALIZED_NAME_AUTO_BUILD) + private Boolean autoBuild; + + public static final String SERIALIZED_NAME_DOCKERFILE = "dockerfile"; + @SerializedName(SERIALIZED_NAME_DOCKERFILE) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile dockerfile; + + public static final String SERIALIZED_NAME_IMAGE_NAME = "imageName"; + @SerializedName(SERIALIZED_NAME_IMAGE_NAME) + private String imageName; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage autoBuild(Boolean autoBuild) { + + this.autoBuild = autoBuild; + return this; + } + + /** + * Defines if the image should be built during startup. Default value is `false` + * @return autoBuild + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the image should be built during startup. Default value is `false`") + + public Boolean getAutoBuild() { + return autoBuild; + } + + + public void setAutoBuild(Boolean autoBuild) { + this.autoBuild = autoBuild; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage dockerfile(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile dockerfile) { + + this.dockerfile = dockerfile; + return this; + } + + /** + * Get dockerfile + * @return dockerfile + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile getDockerfile() { + return dockerfile; + } + + + public void setDockerfile(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile dockerfile) { + this.dockerfile = dockerfile; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage imageName(String imageName) { + + this.imageName = imageName; + return this; + } + + /** + * Name of the image for the resulting outerloop build + * @return imageName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Name of the image for the resulting outerloop build") + + public String getImageName() { + return imageName; + } + + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage) o; + return Objects.equals(this.autoBuild, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage.autoBuild) && + Objects.equals(this.dockerfile, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage.dockerfile) && + Objects.equals(this.imageName, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage.imageName); + } + + @Override + public int hashCode() { + return Objects.hash(autoBuild, dockerfile, imageName); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImage {\n"); + sb.append(" autoBuild: ").append(toIndentedString(autoBuild)).append("\n"); + sb.append(" dockerfile: ").append(toIndentedString(dockerfile)).append("\n"); + sb.append(" imageName: ").append(toIndentedString(imageName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile.java new file mode 100644 index 0000000..18f4b7e --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile.java @@ -0,0 +1,257 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows specifying dockerfile type build + */ +@ApiModel(description = "Allows specifying dockerfile type build") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile { + public static final String SERIALIZED_NAME_ARGS = "args"; + @SerializedName(SERIALIZED_NAME_ARGS) + private List args = null; + + public static final String SERIALIZED_NAME_BUILD_CONTEXT = "buildContext"; + @SerializedName(SERIALIZED_NAME_BUILD_CONTEXT) + private String buildContext; + + public static final String SERIALIZED_NAME_DEVFILE_REGISTRY = "devfileRegistry"; + @SerializedName(SERIALIZED_NAME_DEVFILE_REGISTRY) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry devfileRegistry; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit git; + + public static final String SERIALIZED_NAME_ROOT_REQUIRED = "rootRequired"; + @SerializedName(SERIALIZED_NAME_ROOT_REQUIRED) + private Boolean rootRequired; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile args(List args) { + + this.args = args; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile addArgsItem(String argsItem) { + if (this.args == null) { + this.args = new ArrayList<>(); + } + this.args.add(argsItem); + return this; + } + + /** + * The arguments to supply to the dockerfile build. + * @return args + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The arguments to supply to the dockerfile build.") + + public List getArgs() { + return args; + } + + + public void setArgs(List args) { + this.args = args; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile buildContext(String buildContext) { + + this.buildContext = buildContext; + return this; + } + + /** + * Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container + * @return buildContext + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container") + + public String getBuildContext() { + return buildContext; + } + + + public void setBuildContext(String buildContext) { + this.buildContext = buildContext; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile devfileRegistry(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry devfileRegistry) { + + this.devfileRegistry = devfileRegistry; + return this; + } + + /** + * Get devfileRegistry + * @return devfileRegistry + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry getDevfileRegistry() { + return devfileRegistry; + } + + + public void setDevfileRegistry(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry devfileRegistry) { + this.devfileRegistry = devfileRegistry; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile git(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit getGit() { + return git; + } + + + public void setGit(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit git) { + this.git = git; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile rootRequired(Boolean rootRequired) { + + this.rootRequired = rootRequired; + return this; + } + + /** + * Specify if a privileged builder pod is required. Default value is `false` + * @return rootRequired + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify if a privileged builder pod is required. Default value is `false`") + + public Boolean getRootRequired() { + return rootRequired; + } + + + public void setRootRequired(Boolean rootRequired) { + this.rootRequired = rootRequired; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile) o; + return Objects.equals(this.args, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile.args) && + Objects.equals(this.buildContext, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile.buildContext) && + Objects.equals(this.devfileRegistry, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile.devfileRegistry) && + Objects.equals(this.git, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile.git) && + Objects.equals(this.rootRequired, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile.rootRequired) && + Objects.equals(this.uri, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile.uri); + } + + @Override + public int hashCode() { + return Objects.hash(args, buildContext, devfileRegistry, git, rootRequired, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfile {\n"); + sb.append(" args: ").append(toIndentedString(args)).append("\n"); + sb.append(" buildContext: ").append(toIndentedString(buildContext)).append("\n"); + sb.append(" devfileRegistry: ").append(toIndentedString(devfileRegistry)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" rootRequired: ").append(toIndentedString(rootRequired)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry.java new file mode 100644 index 0000000..f59cb5b --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Dockerfile's Devfile Registry source + */ +@ApiModel(description = "Dockerfile's Devfile Registry source") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_REGISTRY_URL = "registryUrl"; + @SerializedName(SERIALIZED_NAME_REGISTRY_URL) + private String registryUrl; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry id(String id) { + + this.id = id; + return this; + } + + /** + * Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image. + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry registryUrl(String registryUrl) { + + this.registryUrl = registryUrl; + return this; + } + + /** + * Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used. + * @return registryUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used.") + + public String getRegistryUrl() { + return registryUrl; + } + + + public void setRegistryUrl(String registryUrl) { + this.registryUrl = registryUrl; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry) o; + return Objects.equals(this.id, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry.id) && + Objects.equals(this.registryUrl, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry.registryUrl); + } + + @Override + public int hashCode() { + return Objects.hash(id, registryUrl); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileDevfileRegistry {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" registryUrl: ").append(toIndentedString(registryUrl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit.java new file mode 100644 index 0000000..4f2e499 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit.java @@ -0,0 +1,170 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Dockerfile's Git source + */ +@ApiModel(description = "Dockerfile's Git source") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_FILE_LOCATION = "fileLocation"; + @SerializedName(SERIALIZED_NAME_FILE_LOCATION) + private String fileLocation; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = null; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit checkoutFrom(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit fileLocation(String fileLocation) { + + this.fileLocation = fileLocation; + return this; + } + + /** + * Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile. + * @return fileLocation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile.") + + public String getFileLocation() { + return fileLocation; + } + + + public void setFileLocation(String fileLocation) { + this.fileLocation = fileLocation; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit putRemotesItem(String key, String remotesItem) { + if (this.remotes == null) { + this.remotes = new HashMap<>(); + } + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit) o; + return Objects.equals(this.checkoutFrom, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit.checkoutFrom) && + Objects.equals(this.fileLocation, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit.fileLocation) && + Objects.equals(this.remotes, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, fileLocation, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" fileLocation: ").append(toIndentedString(fileLocation)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom.java new file mode 100644 index 0000000..03aaa66 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom) o; + return Objects.equals(this.remote, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom.remote) && + Objects.equals(this.revision, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsImageDockerfileGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes.java new file mode 100644 index 0000000..44d2b9f --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production. + */ +@ApiModel(description = "Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production.") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes { + public static final String SERIALIZED_NAME_DEPLOY_BY_DEFAULT = "deployByDefault"; + @SerializedName(SERIALIZED_NAME_DEPLOY_BY_DEFAULT) + private Boolean deployByDefault; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_INLINED = "inlined"; + @SerializedName(SERIALIZED_NAME_INLINED) + private String inlined; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes deployByDefault(Boolean deployByDefault) { + + this.deployByDefault = deployByDefault; + return this; + } + + /** + * Defines if the component should be deployed during startup. Default value is `false` + * @return deployByDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the component should be deployed during startup. Default value is `false`") + + public Boolean getDeployByDefault() { + return deployByDefault; + } + + + public void setDeployByDefault(Boolean deployByDefault) { + this.deployByDefault = deployByDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes addEndpointsItem(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes inlined(String inlined) { + + this.inlined = inlined; + return this; + } + + /** + * Inlined manifest + * @return inlined + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Inlined manifest") + + public String getInlined() { + return inlined; + } + + + public void setInlined(String inlined) { + this.inlined = inlined; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * Location in a file fetched from a uri. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location in a file fetched from a uri.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes) o; + return Objects.equals(this.deployByDefault, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes.deployByDefault) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes.endpoints) && + Objects.equals(this.inlined, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes.inlined) && + Objects.equals(this.uri, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes.uri); + } + + @Override + public int hashCode() { + return Objects.hash(deployByDefault, endpoints, inlined, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetes {\n"); + sb.append(" deployByDefault: ").append(toIndentedString(deployByDefault)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" inlined: ").append(toIndentedString(inlined)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints.java new file mode 100644 index 0000000..e1b5519 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints + */ + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsKubernetesEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift.java new file mode 100644 index 0000000..9392ed1 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production. + */ +@ApiModel(description = "Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production.") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift { + public static final String SERIALIZED_NAME_DEPLOY_BY_DEFAULT = "deployByDefault"; + @SerializedName(SERIALIZED_NAME_DEPLOY_BY_DEFAULT) + private Boolean deployByDefault; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_INLINED = "inlined"; + @SerializedName(SERIALIZED_NAME_INLINED) + private String inlined; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift deployByDefault(Boolean deployByDefault) { + + this.deployByDefault = deployByDefault; + return this; + } + + /** + * Defines if the component should be deployed during startup. Default value is `false` + * @return deployByDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the component should be deployed during startup. Default value is `false`") + + public Boolean getDeployByDefault() { + return deployByDefault; + } + + + public void setDeployByDefault(Boolean deployByDefault) { + this.deployByDefault = deployByDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift addEndpointsItem(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift inlined(String inlined) { + + this.inlined = inlined; + return this; + } + + /** + * Inlined manifest + * @return inlined + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Inlined manifest") + + public String getInlined() { + return inlined; + } + + + public void setInlined(String inlined) { + this.inlined = inlined; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * Location in a file fetched from a uri. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location in a file fetched from a uri.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift) o; + return Objects.equals(this.deployByDefault, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift.deployByDefault) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift.endpoints) && + Objects.equals(this.inlined, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift.inlined) && + Objects.equals(this.uri, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift.uri); + } + + @Override + public int hashCode() { + return Objects.hash(deployByDefault, endpoints, inlined, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshift {\n"); + sb.append(" deployByDefault: ").append(toIndentedString(deployByDefault)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" inlined: ").append(toIndentedString(inlined)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints.java new file mode 100644 index 0000000..fe96140 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints + */ + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsOpenshiftEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin.java new file mode 100644 index 0000000..dfaa0f3 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin.java @@ -0,0 +1,295 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing a plugin. Plugins are mainly imported devfiles that contribute components, commands and events as a consistent single unit. They are defined in either YAML files following the devfile syntax, or as `DevWorkspaceTemplate` Kubernetes Custom Resources + */ +@ApiModel(description = "Allows importing a plugin. Plugins are mainly imported devfiles that contribute components, commands and events as a consistent single unit. They are defined in either YAML files following the devfile syntax, or as `DevWorkspaceTemplate` Kubernetes Custom Resources") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin { + public static final String SERIALIZED_NAME_COMMANDS = "commands"; + @SerializedName(SERIALIZED_NAME_COMMANDS) + private List commands = null; + + public static final String SERIALIZED_NAME_COMPONENTS = "components"; + @SerializedName(SERIALIZED_NAME_COMPONENTS) + private List components = null; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_KUBERNETES = "kubernetes"; + @SerializedName(SERIALIZED_NAME_KUBERNETES) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes kubernetes; + + public static final String SERIALIZED_NAME_REGISTRY_URL = "registryUrl"; + @SerializedName(SERIALIZED_NAME_REGISTRY_URL) + private String registryUrl; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private String version; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin commands(List commands) { + + this.commands = commands; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin addCommandsItem(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands commandsItem) { + if (this.commands == null) { + this.commands = new ArrayList<>(); + } + this.commands.add(commandsItem); + return this; + } + + /** + * Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. + * @return commands + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules.") + + public List getCommands() { + return commands; + } + + + public void setCommands(List commands) { + this.commands = commands; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin components(List components) { + + this.components = components; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin addComponentsItem(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents componentsItem) { + if (this.components == null) { + this.components = new ArrayList<>(); + } + this.components.add(componentsItem); + return this; + } + + /** + * Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. + * @return components + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules.") + + public List getComponents() { + return components; + } + + + public void setComponents(List components) { + this.components = components; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin id(String id) { + + this.id = id; + return this; + } + + /** + * Id in a registry that contains a Devfile yaml file + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Id in a registry that contains a Devfile yaml file") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin kubernetes(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes kubernetes) { + + this.kubernetes = kubernetes; + return this; + } + + /** + * Get kubernetes + * @return kubernetes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes getKubernetes() { + return kubernetes; + } + + + public void setKubernetes(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes kubernetes) { + this.kubernetes = kubernetes; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin registryUrl(String registryUrl) { + + this.registryUrl = registryUrl; + return this; + } + + /** + * Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used. + * @return registryUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used.") + + public String getRegistryUrl() { + return registryUrl; + } + + + public void setRegistryUrl(String registryUrl) { + this.registryUrl = registryUrl; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin version(String version) { + + this.version = version; + return this; + } + + /** + * Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used. + * @return version + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used.") + + public String getVersion() { + return version; + } + + + public void setVersion(String version) { + this.version = version; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin) o; + return Objects.equals(this.commands, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin.commands) && + Objects.equals(this.components, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin.components) && + Objects.equals(this.id, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin.id) && + Objects.equals(this.kubernetes, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin.kubernetes) && + Objects.equals(this.registryUrl, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin.registryUrl) && + Objects.equals(this.uri, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin.uri) && + Objects.equals(this.version, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin.version); + } + + @Override + public int hashCode() { + return Objects.hash(commands, components, id, kubernetes, registryUrl, uri, version); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPlugin {\n"); + sb.append(" commands: ").append(toIndentedString(commands)).append("\n"); + sb.append(" components: ").append(toIndentedString(components)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" kubernetes: ").append(toIndentedString(kubernetes)).append("\n"); + sb.append(" registryUrl: ").append(toIndentedString(registryUrl)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands.java new file mode 100644 index 0000000..ba65ba1 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands.java @@ -0,0 +1,217 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands + */ + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands { + public static final String SERIALIZED_NAME_APPLY = "apply"; + @SerializedName(SERIALIZED_NAME_APPLY) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply apply; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_COMPOSITE = "composite"; + @SerializedName(SERIALIZED_NAME_COMPOSITE) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite composite; + + public static final String SERIALIZED_NAME_EXEC = "exec"; + @SerializedName(SERIALIZED_NAME_EXEC) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec exec; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands apply(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply apply) { + + this.apply = apply; + return this; + } + + /** + * Get apply + * @return apply + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply getApply() { + return apply; + } + + + public void setApply(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply apply) { + this.apply = apply; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands composite(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite composite) { + + this.composite = composite; + return this; + } + + /** + * Get composite + * @return composite + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite getComposite() { + return composite; + } + + + public void setComposite(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite composite) { + this.composite = composite; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands exec(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec exec) { + + this.exec = exec; + return this; + } + + /** + * Get exec + * @return exec + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec getExec() { + return exec; + } + + + public void setExec(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec exec) { + this.exec = exec; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands id(String id) { + + this.id = id; + return this; + } + + /** + * Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events. + * @return id + **/ + @ApiModelProperty(required = true, value = "Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands) o; + return Objects.equals(this.apply, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands.apply) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands.attributes) && + Objects.equals(this.composite, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands.composite) && + Objects.equals(this.exec, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands.exec) && + Objects.equals(this.id, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands.id); + } + + @Override + public int hashCode() { + return Objects.hash(apply, attributes, composite, exec, id); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommands {\n"); + sb.append(" apply: ").append(toIndentedString(apply)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" composite: ").append(toIndentedString(composite)).append("\n"); + sb.append(" exec: ").append(toIndentedString(exec)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply.java new file mode 100644 index 0000000..b0b1b34 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply.java @@ -0,0 +1,159 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. + */ +@ApiModel(description = "Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false.") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply { + public static final String SERIALIZED_NAME_COMPONENT = "component"; + @SerializedName(SERIALIZED_NAME_COMPONENT) + private String component; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply component(String component) { + + this.component = component; + return this; + } + + /** + * Describes component that will be applied + * @return component + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes component that will be applied") + + public String getComponent() { + return component; + } + + + public void setComponent(String component) { + this.component = component; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply group(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply) o; + return Objects.equals(this.component, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply.component) && + Objects.equals(this.group, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply.group) && + Objects.equals(this.label, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply.label); + } + + @Override + public int hashCode() { + return Objects.hash(component, group, label); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApply {\n"); + sb.append(" component: ").append(toIndentedString(component)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup.java new file mode 100644 index 0000000..4260281 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsApplyGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite.java new file mode 100644 index 0000000..bdd9bd8 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Composite command that allows executing several sub-commands either sequentially or concurrently + */ +@ApiModel(description = "Composite command that allows executing several sub-commands either sequentially or concurrently") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite { + public static final String SERIALIZED_NAME_COMMANDS = "commands"; + @SerializedName(SERIALIZED_NAME_COMMANDS) + private List commands = null; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + public static final String SERIALIZED_NAME_PARALLEL = "parallel"; + @SerializedName(SERIALIZED_NAME_PARALLEL) + private Boolean parallel; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite commands(List commands) { + + this.commands = commands; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite addCommandsItem(String commandsItem) { + if (this.commands == null) { + this.commands = new ArrayList<>(); + } + this.commands.add(commandsItem); + return this; + } + + /** + * The commands that comprise this composite command + * @return commands + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The commands that comprise this composite command") + + public List getCommands() { + return commands; + } + + + public void setCommands(List commands) { + this.commands = commands; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite group(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite parallel(Boolean parallel) { + + this.parallel = parallel; + return this; + } + + /** + * Indicates if the sub-commands should be executed concurrently + * @return parallel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates if the sub-commands should be executed concurrently") + + public Boolean getParallel() { + return parallel; + } + + + public void setParallel(Boolean parallel) { + this.parallel = parallel; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite) o; + return Objects.equals(this.commands, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite.commands) && + Objects.equals(this.group, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite.group) && + Objects.equals(this.label, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite.label) && + Objects.equals(this.parallel, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite.parallel); + } + + @Override + public int hashCode() { + return Objects.hash(commands, group, label, parallel); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsComposite {\n"); + sb.append(" commands: ").append(toIndentedString(commands)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" parallel: ").append(toIndentedString(parallel)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup.java new file mode 100644 index 0000000..6b86e51 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsCompositeGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec.java new file mode 100644 index 0000000..f808ac9 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec.java @@ -0,0 +1,286 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CLI Command executed in an existing component container + */ +@ApiModel(description = "CLI Command executed in an existing component container") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec { + public static final String SERIALIZED_NAME_COMMAND_LINE = "commandLine"; + @SerializedName(SERIALIZED_NAME_COMMAND_LINE) + private String commandLine; + + public static final String SERIALIZED_NAME_COMPONENT = "component"; + @SerializedName(SERIALIZED_NAME_COMPONENT) + private String component; + + public static final String SERIALIZED_NAME_ENV = "env"; + @SerializedName(SERIALIZED_NAME_ENV) + private List env = null; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup group; + + public static final String SERIALIZED_NAME_HOT_RELOAD_CAPABLE = "hotReloadCapable"; + @SerializedName(SERIALIZED_NAME_HOT_RELOAD_CAPABLE) + private Boolean hotReloadCapable; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + public static final String SERIALIZED_NAME_WORKING_DIR = "workingDir"; + @SerializedName(SERIALIZED_NAME_WORKING_DIR) + private String workingDir; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec commandLine(String commandLine) { + + this.commandLine = commandLine; + return this; + } + + /** + * The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. + * @return commandLine + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one.") + + public String getCommandLine() { + return commandLine; + } + + + public void setCommandLine(String commandLine) { + this.commandLine = commandLine; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec component(String component) { + + this.component = component; + return this; + } + + /** + * Describes component to which given action relates + * @return component + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes component to which given action relates") + + public String getComponent() { + return component; + } + + + public void setComponent(String component) { + this.component = component; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec env(List env) { + + this.env = env; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec addEnvItem(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv envItem) { + if (this.env == null) { + this.env = new ArrayList<>(); + } + this.env.add(envItem); + return this; + } + + /** + * Optional list of environment variables that have to be set before running the command + * @return env + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional list of environment variables that have to be set before running the command") + + public List getEnv() { + return env; + } + + + public void setEnv(List env) { + this.env = env; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec group(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup getGroup() { + return group; + } + + + public void setGroup(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup group) { + this.group = group; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec hotReloadCapable(Boolean hotReloadCapable) { + + this.hotReloadCapable = hotReloadCapable; + return this; + } + + /** + * Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false` + * @return hotReloadCapable + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false`") + + public Boolean getHotReloadCapable() { + return hotReloadCapable; + } + + + public void setHotReloadCapable(Boolean hotReloadCapable) { + this.hotReloadCapable = hotReloadCapable; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec workingDir(String workingDir) { + + this.workingDir = workingDir; + return this; + } + + /** + * Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. + * @return workingDir + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one.") + + public String getWorkingDir() { + return workingDir; + } + + + public void setWorkingDir(String workingDir) { + this.workingDir = workingDir; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec) o; + return Objects.equals(this.commandLine, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec.commandLine) && + Objects.equals(this.component, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec.component) && + Objects.equals(this.env, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec.env) && + Objects.equals(this.group, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec.group) && + Objects.equals(this.hotReloadCapable, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec.hotReloadCapable) && + Objects.equals(this.label, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec.label) && + Objects.equals(this.workingDir, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec.workingDir); + } + + @Override + public int hashCode() { + return Objects.hash(commandLine, component, env, group, hotReloadCapable, label, workingDir); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExec {\n"); + sb.append(" commandLine: ").append(toIndentedString(commandLine)).append("\n"); + sb.append(" component: ").append(toIndentedString(component)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" hotReloadCapable: ").append(toIndentedString(hotReloadCapable)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" workingDir: ").append(toIndentedString(workingDir)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv.java new file mode 100644 index 0000000..4baaadd --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv.java @@ -0,0 +1,127 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv + */ + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv.name) && + Objects.equals(this.value, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecEnv {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup.java new file mode 100644 index 0000000..d39100e --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup) o; + return Objects.equals(this.isDefault, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup.isDefault) && + Objects.equals(this.kind, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginCommandsItemsExecGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents.java new file mode 100644 index 0000000..759b9a2 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents.java @@ -0,0 +1,277 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents + */ + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_CONTAINER = "container"; + @SerializedName(SERIALIZED_NAME_CONTAINER) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer container; + + public static final String SERIALIZED_NAME_IMAGE = "image"; + @SerializedName(SERIALIZED_NAME_IMAGE) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage image; + + public static final String SERIALIZED_NAME_KUBERNETES = "kubernetes"; + @SerializedName(SERIALIZED_NAME_KUBERNETES) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes kubernetes; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OPENSHIFT = "openshift"; + @SerializedName(SERIALIZED_NAME_OPENSHIFT) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift openshift; + + public static final String SERIALIZED_NAME_VOLUME = "volume"; + @SerializedName(SERIALIZED_NAME_VOLUME) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume volume; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents container(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer container) { + + this.container = container; + return this; + } + + /** + * Get container + * @return container + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer getContainer() { + return container; + } + + + public void setContainer(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer container) { + this.container = container; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents image(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage image) { + + this.image = image; + return this; + } + + /** + * Get image + * @return image + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage getImage() { + return image; + } + + + public void setImage(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage image) { + this.image = image; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents kubernetes(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes kubernetes) { + + this.kubernetes = kubernetes; + return this; + } + + /** + * Get kubernetes + * @return kubernetes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes getKubernetes() { + return kubernetes; + } + + + public void setKubernetes(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes kubernetes) { + this.kubernetes = kubernetes; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents name(String name) { + + this.name = name; + return this; + } + + /** + * Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin. + * @return name + **/ + @ApiModelProperty(required = true, value = "Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents openshift(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift openshift) { + + this.openshift = openshift; + return this; + } + + /** + * Get openshift + * @return openshift + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift getOpenshift() { + return openshift; + } + + + public void setOpenshift(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift openshift) { + this.openshift = openshift; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents volume(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume volume) { + + this.volume = volume; + return this; + } + + /** + * Get volume + * @return volume + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume getVolume() { + return volume; + } + + + public void setVolume(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume volume) { + this.volume = volume; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents) o; + return Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents.attributes) && + Objects.equals(this.container, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents.container) && + Objects.equals(this.image, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents.image) && + Objects.equals(this.kubernetes, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents.kubernetes) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents.name) && + Objects.equals(this.openshift, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents.openshift) && + Objects.equals(this.volume, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents.volume); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, container, image, kubernetes, name, openshift, volume); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponents {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" container: ").append(toIndentedString(container)).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" kubernetes: ").append(toIndentedString(kubernetes)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" openshift: ").append(toIndentedString(openshift)).append("\n"); + sb.append(" volume: ").append(toIndentedString(volume)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.java new file mode 100644 index 0000000..9f8936a --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.java @@ -0,0 +1,523 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows adding and configuring devworkspace-related containers + */ +@ApiModel(description = "Allows adding and configuring devworkspace-related containers") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation annotation; + + public static final String SERIALIZED_NAME_ARGS = "args"; + @SerializedName(SERIALIZED_NAME_ARGS) + private List args = null; + + public static final String SERIALIZED_NAME_COMMAND = "command"; + @SerializedName(SERIALIZED_NAME_COMMAND) + private List command = null; + + public static final String SERIALIZED_NAME_CPU_LIMIT = "cpuLimit"; + @SerializedName(SERIALIZED_NAME_CPU_LIMIT) + private String cpuLimit; + + public static final String SERIALIZED_NAME_CPU_REQUEST = "cpuRequest"; + @SerializedName(SERIALIZED_NAME_CPU_REQUEST) + private String cpuRequest; + + public static final String SERIALIZED_NAME_DEDICATED_POD = "dedicatedPod"; + @SerializedName(SERIALIZED_NAME_DEDICATED_POD) + private Boolean dedicatedPod; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_ENV = "env"; + @SerializedName(SERIALIZED_NAME_ENV) + private List env = null; + + public static final String SERIALIZED_NAME_IMAGE = "image"; + @SerializedName(SERIALIZED_NAME_IMAGE) + private String image; + + public static final String SERIALIZED_NAME_MEMORY_LIMIT = "memoryLimit"; + @SerializedName(SERIALIZED_NAME_MEMORY_LIMIT) + private String memoryLimit; + + public static final String SERIALIZED_NAME_MEMORY_REQUEST = "memoryRequest"; + @SerializedName(SERIALIZED_NAME_MEMORY_REQUEST) + private String memoryRequest; + + public static final String SERIALIZED_NAME_MOUNT_SOURCES = "mountSources"; + @SerializedName(SERIALIZED_NAME_MOUNT_SOURCES) + private Boolean mountSources; + + public static final String SERIALIZED_NAME_SOURCE_MAPPING = "sourceMapping"; + @SerializedName(SERIALIZED_NAME_SOURCE_MAPPING) + private String sourceMapping; + + public static final String SERIALIZED_NAME_VOLUME_MOUNTS = "volumeMounts"; + @SerializedName(SERIALIZED_NAME_VOLUME_MOUNTS) + private List volumeMounts = null; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer annotation(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation annotation) { + + this.annotation = annotation; + return this; + } + + /** + * Get annotation + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation getAnnotation() { + return annotation; + } + + + public void setAnnotation(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer args(List args) { + + this.args = args; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer addArgsItem(String argsItem) { + if (this.args == null) { + this.args = new ArrayList<>(); + } + this.args.add(argsItem); + return this; + } + + /** + * The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image. + * @return args + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image.") + + public List getArgs() { + return args; + } + + + public void setArgs(List args) { + this.args = args; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer command(List command) { + + this.command = command; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer addCommandItem(String commandItem) { + if (this.command == null) { + this.command = new ArrayList<>(); + } + this.command.add(commandItem); + return this; + } + + /** + * The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image. + * @return command + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image.") + + public List getCommand() { + return command; + } + + + public void setCommand(List command) { + this.command = command; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer cpuLimit(String cpuLimit) { + + this.cpuLimit = cpuLimit; + return this; + } + + /** + * Get cpuLimit + * @return cpuLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCpuLimit() { + return cpuLimit; + } + + + public void setCpuLimit(String cpuLimit) { + this.cpuLimit = cpuLimit; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer cpuRequest(String cpuRequest) { + + this.cpuRequest = cpuRequest; + return this; + } + + /** + * Get cpuRequest + * @return cpuRequest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCpuRequest() { + return cpuRequest; + } + + + public void setCpuRequest(String cpuRequest) { + this.cpuRequest = cpuRequest; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer dedicatedPod(Boolean dedicatedPod) { + + this.dedicatedPod = dedicatedPod; + return this; + } + + /** + * Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false` + * @return dedicatedPod + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false`") + + public Boolean getDedicatedPod() { + return dedicatedPod; + } + + + public void setDedicatedPod(Boolean dedicatedPod) { + this.dedicatedPod = dedicatedPod; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer addEndpointsItem(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer env(List env) { + + this.env = env; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer addEnvItem(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv envItem) { + if (this.env == null) { + this.env = new ArrayList<>(); + } + this.env.add(envItem); + return this; + } + + /** + * Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE` + * @return env + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE`") + + public List getEnv() { + return env; + } + + + public void setEnv(List env) { + this.env = env; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer image(String image) { + + this.image = image; + return this; + } + + /** + * Get image + * @return image + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getImage() { + return image; + } + + + public void setImage(String image) { + this.image = image; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer memoryLimit(String memoryLimit) { + + this.memoryLimit = memoryLimit; + return this; + } + + /** + * Get memoryLimit + * @return memoryLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMemoryLimit() { + return memoryLimit; + } + + + public void setMemoryLimit(String memoryLimit) { + this.memoryLimit = memoryLimit; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer memoryRequest(String memoryRequest) { + + this.memoryRequest = memoryRequest; + return this; + } + + /** + * Get memoryRequest + * @return memoryRequest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMemoryRequest() { + return memoryRequest; + } + + + public void setMemoryRequest(String memoryRequest) { + this.memoryRequest = memoryRequest; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer mountSources(Boolean mountSources) { + + this.mountSources = mountSources; + return this; + } + + /** + * Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. + * @return mountSources + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true.") + + public Boolean getMountSources() { + return mountSources; + } + + + public void setMountSources(Boolean mountSources) { + this.mountSources = mountSources; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer sourceMapping(String sourceMapping) { + + this.sourceMapping = sourceMapping; + return this; + } + + /** + * Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used. + * @return sourceMapping + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used.") + + public String getSourceMapping() { + return sourceMapping; + } + + + public void setSourceMapping(String sourceMapping) { + this.sourceMapping = sourceMapping; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer volumeMounts(List volumeMounts) { + + this.volumeMounts = volumeMounts; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer addVolumeMountsItem(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts volumeMountsItem) { + if (this.volumeMounts == null) { + this.volumeMounts = new ArrayList<>(); + } + this.volumeMounts.add(volumeMountsItem); + return this; + } + + /** + * List of volumes mounts that should be mounted is this container. + * @return volumeMounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of volumes mounts that should be mounted is this container.") + + public List getVolumeMounts() { + return volumeMounts; + } + + + public void setVolumeMounts(List volumeMounts) { + this.volumeMounts = volumeMounts; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.annotation) && + Objects.equals(this.args, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.args) && + Objects.equals(this.command, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.command) && + Objects.equals(this.cpuLimit, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.cpuLimit) && + Objects.equals(this.cpuRequest, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.cpuRequest) && + Objects.equals(this.dedicatedPod, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.dedicatedPod) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.endpoints) && + Objects.equals(this.env, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.env) && + Objects.equals(this.image, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.image) && + Objects.equals(this.memoryLimit, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.memoryLimit) && + Objects.equals(this.memoryRequest, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.memoryRequest) && + Objects.equals(this.mountSources, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.mountSources) && + Objects.equals(this.sourceMapping, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.sourceMapping) && + Objects.equals(this.volumeMounts, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer.volumeMounts); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, args, command, cpuLimit, cpuRequest, dedicatedPod, endpoints, env, image, memoryLimit, memoryRequest, mountSources, sourceMapping, volumeMounts); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainer {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" args: ").append(toIndentedString(args)).append("\n"); + sb.append(" command: ").append(toIndentedString(command)).append("\n"); + sb.append(" cpuLimit: ").append(toIndentedString(cpuLimit)).append("\n"); + sb.append(" cpuRequest: ").append(toIndentedString(cpuRequest)).append("\n"); + sb.append(" dedicatedPod: ").append(toIndentedString(dedicatedPod)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" memoryLimit: ").append(toIndentedString(memoryLimit)).append("\n"); + sb.append(" memoryRequest: ").append(toIndentedString(memoryRequest)).append("\n"); + sb.append(" mountSources: ").append(toIndentedString(mountSources)).append("\n"); + sb.append(" sourceMapping: ").append(toIndentedString(sourceMapping)).append("\n"); + sb.append(" volumeMounts: ").append(toIndentedString(volumeMounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation.java new file mode 100644 index 0000000..2eca1e2 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation.java @@ -0,0 +1,148 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Annotations that should be added to specific resources for this container + */ +@ApiModel(description = "Annotations that should be added to specific resources for this container") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation { + public static final String SERIALIZED_NAME_DEPLOYMENT = "deployment"; + @SerializedName(SERIALIZED_NAME_DEPLOYMENT) + private Map deployment = null; + + public static final String SERIALIZED_NAME_SERVICE = "service"; + @SerializedName(SERIALIZED_NAME_SERVICE) + private Map service = null; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation deployment(Map deployment) { + + this.deployment = deployment; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation putDeploymentItem(String key, String deploymentItem) { + if (this.deployment == null) { + this.deployment = new HashMap<>(); + } + this.deployment.put(key, deploymentItem); + return this; + } + + /** + * Annotations to be added to deployment + * @return deployment + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to deployment") + + public Map getDeployment() { + return deployment; + } + + + public void setDeployment(Map deployment) { + this.deployment = deployment; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation service(Map service) { + + this.service = service; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation putServiceItem(String key, String serviceItem) { + if (this.service == null) { + this.service = new HashMap<>(); + } + this.service.put(key, serviceItem); + return this; + } + + /** + * Annotations to be added to service + * @return service + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to service") + + public Map getService() { + return service; + } + + + public void setService(Map service) { + this.service = service; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation) o; + return Objects.equals(this.deployment, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation.deployment) && + Objects.equals(this.service, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation.service); + } + + @Override + public int hashCode() { + return Objects.hash(deployment, service); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerAnnotation {\n"); + sb.append(" deployment: ").append(toIndentedString(deployment)).append("\n"); + sb.append(" service: ").append(toIndentedString(service)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints.java new file mode 100644 index 0000000..1b32aee --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints + */ + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv.java new file mode 100644 index 0000000..d1ba983 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv.java @@ -0,0 +1,127 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv + */ + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv.name) && + Objects.equals(this.value, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerEnv {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts.java new file mode 100644 index 0000000..66a6a84 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts.java @@ -0,0 +1,128 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Volume that should be mounted to a component container + */ +@ApiModel(description = "Volume that should be mounted to a component container") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts name(String name) { + + this.name = name; + return this; + } + + /** + * The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files. + * @return name + **/ + @ApiModelProperty(required = true, value = "The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts path(String path) { + + this.path = path; + return this; + } + + /** + * The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/<name>`. + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/`.") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts.path); + } + + @Override + public int hashCode() { + return Objects.hash(name, path); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsContainerVolumeMounts {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage.java new file mode 100644 index 0000000..2dbb7fe --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage.java @@ -0,0 +1,159 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the definition of an image for outer loop builds + */ +@ApiModel(description = "Allows specifying the definition of an image for outer loop builds") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage { + public static final String SERIALIZED_NAME_AUTO_BUILD = "autoBuild"; + @SerializedName(SERIALIZED_NAME_AUTO_BUILD) + private Boolean autoBuild; + + public static final String SERIALIZED_NAME_DOCKERFILE = "dockerfile"; + @SerializedName(SERIALIZED_NAME_DOCKERFILE) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile dockerfile; + + public static final String SERIALIZED_NAME_IMAGE_NAME = "imageName"; + @SerializedName(SERIALIZED_NAME_IMAGE_NAME) + private String imageName; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage autoBuild(Boolean autoBuild) { + + this.autoBuild = autoBuild; + return this; + } + + /** + * Defines if the image should be built during startup. Default value is `false` + * @return autoBuild + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the image should be built during startup. Default value is `false`") + + public Boolean getAutoBuild() { + return autoBuild; + } + + + public void setAutoBuild(Boolean autoBuild) { + this.autoBuild = autoBuild; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage dockerfile(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile dockerfile) { + + this.dockerfile = dockerfile; + return this; + } + + /** + * Get dockerfile + * @return dockerfile + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile getDockerfile() { + return dockerfile; + } + + + public void setDockerfile(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile dockerfile) { + this.dockerfile = dockerfile; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage imageName(String imageName) { + + this.imageName = imageName; + return this; + } + + /** + * Name of the image for the resulting outerloop build + * @return imageName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Name of the image for the resulting outerloop build") + + public String getImageName() { + return imageName; + } + + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage) o; + return Objects.equals(this.autoBuild, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage.autoBuild) && + Objects.equals(this.dockerfile, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage.dockerfile) && + Objects.equals(this.imageName, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage.imageName); + } + + @Override + public int hashCode() { + return Objects.hash(autoBuild, dockerfile, imageName); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImage {\n"); + sb.append(" autoBuild: ").append(toIndentedString(autoBuild)).append("\n"); + sb.append(" dockerfile: ").append(toIndentedString(dockerfile)).append("\n"); + sb.append(" imageName: ").append(toIndentedString(imageName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile.java new file mode 100644 index 0000000..38d8fea --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile.java @@ -0,0 +1,257 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows specifying dockerfile type build + */ +@ApiModel(description = "Allows specifying dockerfile type build") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile { + public static final String SERIALIZED_NAME_ARGS = "args"; + @SerializedName(SERIALIZED_NAME_ARGS) + private List args = null; + + public static final String SERIALIZED_NAME_BUILD_CONTEXT = "buildContext"; + @SerializedName(SERIALIZED_NAME_BUILD_CONTEXT) + private String buildContext; + + public static final String SERIALIZED_NAME_DEVFILE_REGISTRY = "devfileRegistry"; + @SerializedName(SERIALIZED_NAME_DEVFILE_REGISTRY) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry devfileRegistry; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit git; + + public static final String SERIALIZED_NAME_ROOT_REQUIRED = "rootRequired"; + @SerializedName(SERIALIZED_NAME_ROOT_REQUIRED) + private Boolean rootRequired; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile args(List args) { + + this.args = args; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile addArgsItem(String argsItem) { + if (this.args == null) { + this.args = new ArrayList<>(); + } + this.args.add(argsItem); + return this; + } + + /** + * The arguments to supply to the dockerfile build. + * @return args + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The arguments to supply to the dockerfile build.") + + public List getArgs() { + return args; + } + + + public void setArgs(List args) { + this.args = args; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile buildContext(String buildContext) { + + this.buildContext = buildContext; + return this; + } + + /** + * Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container + * @return buildContext + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container") + + public String getBuildContext() { + return buildContext; + } + + + public void setBuildContext(String buildContext) { + this.buildContext = buildContext; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile devfileRegistry(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry devfileRegistry) { + + this.devfileRegistry = devfileRegistry; + return this; + } + + /** + * Get devfileRegistry + * @return devfileRegistry + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry getDevfileRegistry() { + return devfileRegistry; + } + + + public void setDevfileRegistry(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry devfileRegistry) { + this.devfileRegistry = devfileRegistry; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile git(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit getGit() { + return git; + } + + + public void setGit(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit git) { + this.git = git; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile rootRequired(Boolean rootRequired) { + + this.rootRequired = rootRequired; + return this; + } + + /** + * Specify if a privileged builder pod is required. Default value is `false` + * @return rootRequired + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify if a privileged builder pod is required. Default value is `false`") + + public Boolean getRootRequired() { + return rootRequired; + } + + + public void setRootRequired(Boolean rootRequired) { + this.rootRequired = rootRequired; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile) o; + return Objects.equals(this.args, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile.args) && + Objects.equals(this.buildContext, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile.buildContext) && + Objects.equals(this.devfileRegistry, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile.devfileRegistry) && + Objects.equals(this.git, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile.git) && + Objects.equals(this.rootRequired, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile.rootRequired) && + Objects.equals(this.uri, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile.uri); + } + + @Override + public int hashCode() { + return Objects.hash(args, buildContext, devfileRegistry, git, rootRequired, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfile {\n"); + sb.append(" args: ").append(toIndentedString(args)).append("\n"); + sb.append(" buildContext: ").append(toIndentedString(buildContext)).append("\n"); + sb.append(" devfileRegistry: ").append(toIndentedString(devfileRegistry)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" rootRequired: ").append(toIndentedString(rootRequired)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.java new file mode 100644 index 0000000..d6c12fd --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Dockerfile's Devfile Registry source + */ +@ApiModel(description = "Dockerfile's Devfile Registry source") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_REGISTRY_URL = "registryUrl"; + @SerializedName(SERIALIZED_NAME_REGISTRY_URL) + private String registryUrl; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry id(String id) { + + this.id = id; + return this; + } + + /** + * Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image. + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry registryUrl(String registryUrl) { + + this.registryUrl = registryUrl; + return this; + } + + /** + * Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used. + * @return registryUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used.") + + public String getRegistryUrl() { + return registryUrl; + } + + + public void setRegistryUrl(String registryUrl) { + this.registryUrl = registryUrl; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry) o; + return Objects.equals(this.id, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.id) && + Objects.equals(this.registryUrl, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry.registryUrl); + } + + @Override + public int hashCode() { + return Objects.hash(id, registryUrl); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileDevfileRegistry {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" registryUrl: ").append(toIndentedString(registryUrl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit.java new file mode 100644 index 0000000..12e6d69 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit.java @@ -0,0 +1,170 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Dockerfile's Git source + */ +@ApiModel(description = "Dockerfile's Git source") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_FILE_LOCATION = "fileLocation"; + @SerializedName(SERIALIZED_NAME_FILE_LOCATION) + private String fileLocation; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = null; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit checkoutFrom(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit fileLocation(String fileLocation) { + + this.fileLocation = fileLocation; + return this; + } + + /** + * Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile. + * @return fileLocation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile.") + + public String getFileLocation() { + return fileLocation; + } + + + public void setFileLocation(String fileLocation) { + this.fileLocation = fileLocation; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit putRemotesItem(String key, String remotesItem) { + if (this.remotes == null) { + this.remotes = new HashMap<>(); + } + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit) o; + return Objects.equals(this.checkoutFrom, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit.checkoutFrom) && + Objects.equals(this.fileLocation, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit.fileLocation) && + Objects.equals(this.remotes, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, fileLocation, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" fileLocation: ").append(toIndentedString(fileLocation)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.java new file mode 100644 index 0000000..02318ba --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom) o; + return Objects.equals(this.remote, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.remote) && + Objects.equals(this.revision, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsImageDockerfileGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes.java new file mode 100644 index 0000000..ac4b775 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production. + */ +@ApiModel(description = "Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production.") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes { + public static final String SERIALIZED_NAME_DEPLOY_BY_DEFAULT = "deployByDefault"; + @SerializedName(SERIALIZED_NAME_DEPLOY_BY_DEFAULT) + private Boolean deployByDefault; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_INLINED = "inlined"; + @SerializedName(SERIALIZED_NAME_INLINED) + private String inlined; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes deployByDefault(Boolean deployByDefault) { + + this.deployByDefault = deployByDefault; + return this; + } + + /** + * Defines if the component should be deployed during startup. Default value is `false` + * @return deployByDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the component should be deployed during startup. Default value is `false`") + + public Boolean getDeployByDefault() { + return deployByDefault; + } + + + public void setDeployByDefault(Boolean deployByDefault) { + this.deployByDefault = deployByDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes addEndpointsItem(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes inlined(String inlined) { + + this.inlined = inlined; + return this; + } + + /** + * Inlined manifest + * @return inlined + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Inlined manifest") + + public String getInlined() { + return inlined; + } + + + public void setInlined(String inlined) { + this.inlined = inlined; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * Location in a file fetched from a uri. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location in a file fetched from a uri.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes) o; + return Objects.equals(this.deployByDefault, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes.deployByDefault) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes.endpoints) && + Objects.equals(this.inlined, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes.inlined) && + Objects.equals(this.uri, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes.uri); + } + + @Override + public int hashCode() { + return Objects.hash(deployByDefault, endpoints, inlined, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetes {\n"); + sb.append(" deployByDefault: ").append(toIndentedString(deployByDefault)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" inlined: ").append(toIndentedString(inlined)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.java new file mode 100644 index 0000000..a3ffdc4 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints + */ + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsKubernetesEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift.java new file mode 100644 index 0000000..488c007 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production. + */ +@ApiModel(description = "Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production.") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift { + public static final String SERIALIZED_NAME_DEPLOY_BY_DEFAULT = "deployByDefault"; + @SerializedName(SERIALIZED_NAME_DEPLOY_BY_DEFAULT) + private Boolean deployByDefault; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_INLINED = "inlined"; + @SerializedName(SERIALIZED_NAME_INLINED) + private String inlined; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift deployByDefault(Boolean deployByDefault) { + + this.deployByDefault = deployByDefault; + return this; + } + + /** + * Defines if the component should be deployed during startup. Default value is `false` + * @return deployByDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the component should be deployed during startup. Default value is `false`") + + public Boolean getDeployByDefault() { + return deployByDefault; + } + + + public void setDeployByDefault(Boolean deployByDefault) { + this.deployByDefault = deployByDefault; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift addEndpointsItem(V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift inlined(String inlined) { + + this.inlined = inlined; + return this; + } + + /** + * Inlined manifest + * @return inlined + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Inlined manifest") + + public String getInlined() { + return inlined; + } + + + public void setInlined(String inlined) { + this.inlined = inlined; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * Location in a file fetched from a uri. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location in a file fetched from a uri.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift) o; + return Objects.equals(this.deployByDefault, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift.deployByDefault) && + Objects.equals(this.endpoints, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift.endpoints) && + Objects.equals(this.inlined, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift.inlined) && + Objects.equals(this.uri, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift.uri); + } + + @Override + public int hashCode() { + return Objects.hash(deployByDefault, endpoints, inlined, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshift {\n"); + sb.append(" deployByDefault: ").append(toIndentedString(deployByDefault)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" inlined: ").append(toIndentedString(inlined)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.java new file mode 100644 index 0000000..55a6993 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints + */ + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints) o; + return Objects.equals(this.annotation, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.annotation) && + Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.attributes) && + Objects.equals(this.exposure, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.exposure) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.name) && + Objects.equals(this.path, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.path) && + Objects.equals(this.protocol, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.protocol) && + Objects.equals(this.secure, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.secure) && + Objects.equals(this.targetPort, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsOpenshiftEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume.java new file mode 100644 index 0000000..22e2dda --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the definition of a volume shared by several other components + */ +@ApiModel(description = "Allows specifying the definition of a volume shared by several other components") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume { + public static final String SERIALIZED_NAME_EPHEMERAL = "ephemeral"; + @SerializedName(SERIALIZED_NAME_EPHEMERAL) + private Boolean ephemeral; + + public static final String SERIALIZED_NAME_SIZE = "size"; + @SerializedName(SERIALIZED_NAME_SIZE) + private String size; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume ephemeral(Boolean ephemeral) { + + this.ephemeral = ephemeral; + return this; + } + + /** + * Ephemeral volumes are not stored persistently across restarts. Defaults to false + * @return ephemeral + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Ephemeral volumes are not stored persistently across restarts. Defaults to false") + + public Boolean getEphemeral() { + return ephemeral; + } + + + public void setEphemeral(Boolean ephemeral) { + this.ephemeral = ephemeral; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume size(String size) { + + this.size = size; + return this; + } + + /** + * Size of the volume + * @return size + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Size of the volume") + + public String getSize() { + return size; + } + + + public void setSize(String size) { + this.size = size; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume) o; + return Objects.equals(this.ephemeral, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume.ephemeral) && + Objects.equals(this.size, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume.size); + } + + @Override + public int hashCode() { + return Objects.hash(ephemeral, size); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginComponentsItemsVolume {\n"); + sb.append(" ephemeral: ").append(toIndentedString(ephemeral)).append("\n"); + sb.append(" size: ").append(toIndentedString(size)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes.java new file mode 100644 index 0000000..39fa28f --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Reference to a Kubernetes CRD of type DevWorkspaceTemplate + */ +@ApiModel(description = "Reference to a Kubernetes CRD of type DevWorkspaceTemplate") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_NAMESPACE = "namespace"; + @SerializedName(SERIALIZED_NAME_NAMESPACE) + private String namespace; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes namespace(String namespace) { + + this.namespace = namespace; + return this; + } + + /** + * Get namespace + * @return namespace + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getNamespace() { + return namespace; + } + + + public void setNamespace(String namespace) { + this.namespace = namespace; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes.name) && + Objects.equals(this.namespace, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes.namespace); + } + + @Override + public int hashCode() { + return Objects.hash(name, namespace); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsPluginKubernetes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" namespace: ").append(toIndentedString(namespace)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume.java new file mode 100644 index 0000000..2b04624 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the definition of a volume shared by several other components + */ +@ApiModel(description = "Allows specifying the definition of a volume shared by several other components") + +public class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume { + public static final String SERIALIZED_NAME_EPHEMERAL = "ephemeral"; + @SerializedName(SERIALIZED_NAME_EPHEMERAL) + private Boolean ephemeral; + + public static final String SERIALIZED_NAME_SIZE = "size"; + @SerializedName(SERIALIZED_NAME_SIZE) + private String size; + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume ephemeral(Boolean ephemeral) { + + this.ephemeral = ephemeral; + return this; + } + + /** + * Ephemeral volumes are not stored persistently across restarts. Defaults to false + * @return ephemeral + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Ephemeral volumes are not stored persistently across restarts. Defaults to false") + + public Boolean getEphemeral() { + return ephemeral; + } + + + public void setEphemeral(Boolean ephemeral) { + this.ephemeral = ephemeral; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume size(String size) { + + this.size = size; + return this; + } + + /** + * Size of the volume + * @return size + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Size of the volume") + + public String getSize() { + return size; + } + + + public void setSize(String size) { + this.size = size; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume = (V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume) o; + return Objects.equals(this.ephemeral, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume.ephemeral) && + Objects.equals(this.size, v1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume.size); + } + + @Override + public int hashCode() { + return Objects.hash(ephemeral, size); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentComponentsItemsVolume {\n"); + sb.append(" ephemeral: ").append(toIndentedString(ephemeral)).append("\n"); + sb.append(" size: ").append(toIndentedString(size)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentKubernetes.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentKubernetes.java new file mode 100644 index 0000000..8f55788 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentKubernetes.java @@ -0,0 +1,128 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Reference to a Kubernetes CRD of type DevWorkspaceTemplate + */ +@ApiModel(description = "Reference to a Kubernetes CRD of type DevWorkspaceTemplate") + +public class V1alpha2DevWorkspaceTemplateSpecParentKubernetes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_NAMESPACE = "namespace"; + @SerializedName(SERIALIZED_NAME_NAMESPACE) + private String namespace; + + + public V1alpha2DevWorkspaceTemplateSpecParentKubernetes name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentKubernetes namespace(String namespace) { + + this.namespace = namespace; + return this; + } + + /** + * Get namespace + * @return namespace + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getNamespace() { + return namespace; + } + + + public void setNamespace(String namespace) { + this.namespace = namespace; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentKubernetes v1alpha2DevWorkspaceTemplateSpecParentKubernetes = (V1alpha2DevWorkspaceTemplateSpecParentKubernetes) o; + return Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecParentKubernetes.name) && + Objects.equals(this.namespace, v1alpha2DevWorkspaceTemplateSpecParentKubernetes.namespace); + } + + @Override + public int hashCode() { + return Objects.hash(name, namespace); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentKubernetes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" namespace: ").append(toIndentedString(namespace)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentProjects.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentProjects.java new file mode 100644 index 0000000..15ac1b7 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentProjects.java @@ -0,0 +1,216 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceTemplateSpecParentProjects + */ + +public class V1alpha2DevWorkspaceTemplateSpecParentProjects { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_CLONE_PATH = "clonePath"; + @SerializedName(SERIALIZED_NAME_CLONE_PATH) + private String clonePath; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit git; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ZIP = "zip"; + @SerializedName(SERIALIZED_NAME_ZIP) + private V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip zip; + + + public V1alpha2DevWorkspaceTemplateSpecParentProjects attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentProjects clonePath(String clonePath) { + + this.clonePath = clonePath; + return this; + } + + /** + * Path relative to the root of the projects to which this project should be cloned into. This is a unix-style relative path (i.e. uses forward slashes). The path is invalid if it is absolute or tries to escape the project root through the usage of '..'. If not specified, defaults to the project name. + * @return clonePath + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path relative to the root of the projects to which this project should be cloned into. This is a unix-style relative path (i.e. uses forward slashes). The path is invalid if it is absolute or tries to escape the project root through the usage of '..'. If not specified, defaults to the project name.") + + public String getClonePath() { + return clonePath; + } + + + public void setClonePath(String clonePath) { + this.clonePath = clonePath; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentProjects git(V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit getGit() { + return git; + } + + + public void setGit(V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit git) { + this.git = git; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentProjects name(String name) { + + this.name = name; + return this; + } + + /** + * Project name + * @return name + **/ + @ApiModelProperty(required = true, value = "Project name") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentProjects zip(V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip zip) { + + this.zip = zip; + return this; + } + + /** + * Get zip + * @return zip + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip getZip() { + return zip; + } + + + public void setZip(V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip zip) { + this.zip = zip; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentProjects v1alpha2DevWorkspaceTemplateSpecParentProjects = (V1alpha2DevWorkspaceTemplateSpecParentProjects) o; + return Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecParentProjects.attributes) && + Objects.equals(this.clonePath, v1alpha2DevWorkspaceTemplateSpecParentProjects.clonePath) && + Objects.equals(this.git, v1alpha2DevWorkspaceTemplateSpecParentProjects.git) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecParentProjects.name) && + Objects.equals(this.zip, v1alpha2DevWorkspaceTemplateSpecParentProjects.zip); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, clonePath, git, name, zip); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentProjects {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" clonePath: ").append(toIndentedString(clonePath)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" zip: ").append(toIndentedString(zip)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit.java new file mode 100644 index 0000000..4112e7e --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit.java @@ -0,0 +1,141 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Project's Git source + */ +@ApiModel(description = "Project's Git source") + +public class V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = null; + + + public V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit checkoutFrom(V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit putRemotesItem(String key, String remotesItem) { + if (this.remotes == null) { + this.remotes = new HashMap<>(); + } + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit v1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit = (V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit) o; + return Objects.equals(this.checkoutFrom, v1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit.checkoutFrom) && + Objects.equals(this.remotes, v1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom.java new file mode 100644 index 0000000..5f897ff --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom v1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom = (V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom) o; + return Objects.equals(this.remote, v1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom.remote) && + Objects.equals(this.revision, v1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip.java new file mode 100644 index 0000000..7b3c98c --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip.java @@ -0,0 +1,100 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Project's Zip source + */ +@ApiModel(description = "Project's Zip source") + +public class V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip { + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private String location; + + + public V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip location(String location) { + + this.location = location; + return this; + } + + /** + * Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH + * @return location + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH") + + public String getLocation() { + return location; + } + + + public void setLocation(String location) { + this.location = location; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip v1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip = (V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip) o; + return Objects.equals(this.location, v1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip.location); + } + + @Override + public int hashCode() { + return Objects.hash(location); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentProjectsItemsZip {\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentStarterProjects.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentStarterProjects.java new file mode 100644 index 0000000..7c1d83e --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentStarterProjects.java @@ -0,0 +1,245 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceTemplateSpecParentStarterProjects + */ + +public class V1alpha2DevWorkspaceTemplateSpecParentStarterProjects { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit git; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_SUB_DIR = "subDir"; + @SerializedName(SERIALIZED_NAME_SUB_DIR) + private String subDir; + + public static final String SERIALIZED_NAME_ZIP = "zip"; + @SerializedName(SERIALIZED_NAME_ZIP) + private V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip zip; + + + public V1alpha2DevWorkspaceTemplateSpecParentStarterProjects attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentStarterProjects description(String description) { + + this.description = description; + return this; + } + + /** + * Description of a starter project + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Description of a starter project") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentStarterProjects git(V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit getGit() { + return git; + } + + + public void setGit(V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit git) { + this.git = git; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentStarterProjects name(String name) { + + this.name = name; + return this; + } + + /** + * Project name + * @return name + **/ + @ApiModelProperty(required = true, value = "Project name") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentStarterProjects subDir(String subDir) { + + this.subDir = subDir; + return this; + } + + /** + * Sub-directory from a starter project to be used as root for starter project. + * @return subDir + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Sub-directory from a starter project to be used as root for starter project.") + + public String getSubDir() { + return subDir; + } + + + public void setSubDir(String subDir) { + this.subDir = subDir; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentStarterProjects zip(V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip zip) { + + this.zip = zip; + return this; + } + + /** + * Get zip + * @return zip + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip getZip() { + return zip; + } + + + public void setZip(V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip zip) { + this.zip = zip; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentStarterProjects v1alpha2DevWorkspaceTemplateSpecParentStarterProjects = (V1alpha2DevWorkspaceTemplateSpecParentStarterProjects) o; + return Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecParentStarterProjects.attributes) && + Objects.equals(this.description, v1alpha2DevWorkspaceTemplateSpecParentStarterProjects.description) && + Objects.equals(this.git, v1alpha2DevWorkspaceTemplateSpecParentStarterProjects.git) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecParentStarterProjects.name) && + Objects.equals(this.subDir, v1alpha2DevWorkspaceTemplateSpecParentStarterProjects.subDir) && + Objects.equals(this.zip, v1alpha2DevWorkspaceTemplateSpecParentStarterProjects.zip); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, description, git, name, subDir, zip); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentStarterProjects {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" subDir: ").append(toIndentedString(subDir)).append("\n"); + sb.append(" zip: ").append(toIndentedString(zip)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit.java new file mode 100644 index 0000000..9343011 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit.java @@ -0,0 +1,141 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Project's Git source + */ +@ApiModel(description = "Project's Git source") + +public class V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = null; + + + public V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit checkoutFrom(V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit putRemotesItem(String key, String remotesItem) { + if (this.remotes == null) { + this.remotes = new HashMap<>(); + } + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit v1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit = (V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit) o; + return Objects.equals(this.checkoutFrom, v1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit.checkoutFrom) && + Objects.equals(this.remotes, v1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom.java new file mode 100644 index 0000000..1203ce7 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom v1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom = (V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom) o; + return Objects.equals(this.remote, v1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom.remote) && + Objects.equals(this.revision, v1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip.java new file mode 100644 index 0000000..c589673 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip.java @@ -0,0 +1,100 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Project's Zip source + */ +@ApiModel(description = "Project's Zip source") + +public class V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip { + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private String location; + + + public V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip location(String location) { + + this.location = location; + return this; + } + + /** + * Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH + * @return location + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH") + + public String getLocation() { + return location; + } + + + public void setLocation(String location) { + this.location = location; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip v1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip = (V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip) o; + return Objects.equals(this.location, v1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip.location); + } + + @Override + public int hashCode() { + return Objects.hash(location); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecParentStarterProjectsItemsZip {\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecProjects.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecProjects.java new file mode 100644 index 0000000..b1a6f05 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecProjects.java @@ -0,0 +1,246 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceTemplateSpecProjects + */ + +public class V1alpha2DevWorkspaceTemplateSpecProjects { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_CLONE_PATH = "clonePath"; + @SerializedName(SERIALIZED_NAME_CLONE_PATH) + private String clonePath; + + public static final String SERIALIZED_NAME_CUSTOM = "custom"; + @SerializedName(SERIALIZED_NAME_CUSTOM) + private V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom custom; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit git; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ZIP = "zip"; + @SerializedName(SERIALIZED_NAME_ZIP) + private V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip zip; + + + public V1alpha2DevWorkspaceTemplateSpecProjects attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecProjects clonePath(String clonePath) { + + this.clonePath = clonePath; + return this; + } + + /** + * Path relative to the root of the projects to which this project should be cloned into. This is a unix-style relative path (i.e. uses forward slashes). The path is invalid if it is absolute or tries to escape the project root through the usage of '..'. If not specified, defaults to the project name. + * @return clonePath + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path relative to the root of the projects to which this project should be cloned into. This is a unix-style relative path (i.e. uses forward slashes). The path is invalid if it is absolute or tries to escape the project root through the usage of '..'. If not specified, defaults to the project name.") + + public String getClonePath() { + return clonePath; + } + + + public void setClonePath(String clonePath) { + this.clonePath = clonePath; + } + + + public V1alpha2DevWorkspaceTemplateSpecProjects custom(V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom custom) { + + this.custom = custom; + return this; + } + + /** + * Get custom + * @return custom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom getCustom() { + return custom; + } + + + public void setCustom(V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom custom) { + this.custom = custom; + } + + + public V1alpha2DevWorkspaceTemplateSpecProjects git(V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit getGit() { + return git; + } + + + public void setGit(V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit git) { + this.git = git; + } + + + public V1alpha2DevWorkspaceTemplateSpecProjects name(String name) { + + this.name = name; + return this; + } + + /** + * Project name + * @return name + **/ + @ApiModelProperty(required = true, value = "Project name") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecProjects zip(V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip zip) { + + this.zip = zip; + return this; + } + + /** + * Get zip + * @return zip + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip getZip() { + return zip; + } + + + public void setZip(V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip zip) { + this.zip = zip; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecProjects v1alpha2DevWorkspaceTemplateSpecProjects = (V1alpha2DevWorkspaceTemplateSpecProjects) o; + return Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecProjects.attributes) && + Objects.equals(this.clonePath, v1alpha2DevWorkspaceTemplateSpecProjects.clonePath) && + Objects.equals(this.custom, v1alpha2DevWorkspaceTemplateSpecProjects.custom) && + Objects.equals(this.git, v1alpha2DevWorkspaceTemplateSpecProjects.git) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecProjects.name) && + Objects.equals(this.zip, v1alpha2DevWorkspaceTemplateSpecProjects.zip); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, clonePath, custom, git, name, zip); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecProjects {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" clonePath: ").append(toIndentedString(clonePath)).append("\n"); + sb.append(" custom: ").append(toIndentedString(custom)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" zip: ").append(toIndentedString(zip)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom.java new file mode 100644 index 0000000..d6294b6 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom.java @@ -0,0 +1,127 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Project's Custom source + */ +@ApiModel(description = "Project's Custom source") + +public class V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom { + public static final String SERIALIZED_NAME_EMBEDDED_RESOURCE = "embeddedResource"; + @SerializedName(SERIALIZED_NAME_EMBEDDED_RESOURCE) + private Object embeddedResource; + + public static final String SERIALIZED_NAME_PROJECT_SOURCE_CLASS = "projectSourceClass"; + @SerializedName(SERIALIZED_NAME_PROJECT_SOURCE_CLASS) + private String projectSourceClass; + + + public V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom embeddedResource(Object embeddedResource) { + + this.embeddedResource = embeddedResource; + return this; + } + + /** + * Get embeddedResource + * @return embeddedResource + **/ + @ApiModelProperty(required = true, value = "") + + public Object getEmbeddedResource() { + return embeddedResource; + } + + + public void setEmbeddedResource(Object embeddedResource) { + this.embeddedResource = embeddedResource; + } + + + public V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom projectSourceClass(String projectSourceClass) { + + this.projectSourceClass = projectSourceClass; + return this; + } + + /** + * Get projectSourceClass + * @return projectSourceClass + **/ + @ApiModelProperty(required = true, value = "") + + public String getProjectSourceClass() { + return projectSourceClass; + } + + + public void setProjectSourceClass(String projectSourceClass) { + this.projectSourceClass = projectSourceClass; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom v1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom = (V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom) o; + return Objects.equals(this.embeddedResource, v1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom.embeddedResource) && + Objects.equals(this.projectSourceClass, v1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom.projectSourceClass); + } + + @Override + public int hashCode() { + return Objects.hash(embeddedResource, projectSourceClass); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecProjectsItemsCustom {\n"); + sb.append(" embeddedResource: ").append(toIndentedString(embeddedResource)).append("\n"); + sb.append(" projectSourceClass: ").append(toIndentedString(projectSourceClass)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit.java new file mode 100644 index 0000000..4eff6d8 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit.java @@ -0,0 +1,137 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Project's Git source + */ +@ApiModel(description = "Project's Git source") + +public class V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = new HashMap<>(); + + + public V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit checkoutFrom(V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit putRemotesItem(String key, String remotesItem) { + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @ApiModelProperty(required = true, value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit v1alpha2DevWorkspaceTemplateSpecProjectsItemsGit = (V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit) o; + return Objects.equals(this.checkoutFrom, v1alpha2DevWorkspaceTemplateSpecProjectsItemsGit.checkoutFrom) && + Objects.equals(this.remotes, v1alpha2DevWorkspaceTemplateSpecProjectsItemsGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecProjectsItemsGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom.java new file mode 100644 index 0000000..f17e452 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom v1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom = (V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom) o; + return Objects.equals(this.remote, v1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom.remote) && + Objects.equals(this.revision, v1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecProjectsItemsGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip.java new file mode 100644 index 0000000..02d6768 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip.java @@ -0,0 +1,100 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Project's Zip source + */ +@ApiModel(description = "Project's Zip source") + +public class V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip { + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private String location; + + + public V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip location(String location) { + + this.location = location; + return this; + } + + /** + * Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH + * @return location + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH") + + public String getLocation() { + return location; + } + + + public void setLocation(String location) { + this.location = location; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip v1alpha2DevWorkspaceTemplateSpecProjectsItemsZip = (V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip) o; + return Objects.equals(this.location, v1alpha2DevWorkspaceTemplateSpecProjectsItemsZip.location); + } + + @Override + public int hashCode() { + return Objects.hash(location); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecProjectsItemsZip {\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecStarterProjects.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecStarterProjects.java new file mode 100644 index 0000000..9e3a754 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecStarterProjects.java @@ -0,0 +1,275 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V1alpha2DevWorkspaceTemplateSpecStarterProjects + */ + +public class V1alpha2DevWorkspaceTemplateSpecStarterProjects { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_CUSTOM = "custom"; + @SerializedName(SERIALIZED_NAME_CUSTOM) + private V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom custom; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit git; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_SUB_DIR = "subDir"; + @SerializedName(SERIALIZED_NAME_SUB_DIR) + private String subDir; + + public static final String SERIALIZED_NAME_ZIP = "zip"; + @SerializedName(SERIALIZED_NAME_ZIP) + private V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip zip; + + + public V1alpha2DevWorkspaceTemplateSpecStarterProjects attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V1alpha2DevWorkspaceTemplateSpecStarterProjects custom(V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom custom) { + + this.custom = custom; + return this; + } + + /** + * Get custom + * @return custom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom getCustom() { + return custom; + } + + + public void setCustom(V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom custom) { + this.custom = custom; + } + + + public V1alpha2DevWorkspaceTemplateSpecStarterProjects description(String description) { + + this.description = description; + return this; + } + + /** + * Description of a starter project + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Description of a starter project") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public V1alpha2DevWorkspaceTemplateSpecStarterProjects git(V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit getGit() { + return git; + } + + + public void setGit(V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit git) { + this.git = git; + } + + + public V1alpha2DevWorkspaceTemplateSpecStarterProjects name(String name) { + + this.name = name; + return this; + } + + /** + * Project name + * @return name + **/ + @ApiModelProperty(required = true, value = "Project name") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V1alpha2DevWorkspaceTemplateSpecStarterProjects subDir(String subDir) { + + this.subDir = subDir; + return this; + } + + /** + * Sub-directory from a starter project to be used as root for starter project. + * @return subDir + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Sub-directory from a starter project to be used as root for starter project.") + + public String getSubDir() { + return subDir; + } + + + public void setSubDir(String subDir) { + this.subDir = subDir; + } + + + public V1alpha2DevWorkspaceTemplateSpecStarterProjects zip(V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip zip) { + + this.zip = zip; + return this; + } + + /** + * Get zip + * @return zip + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip getZip() { + return zip; + } + + + public void setZip(V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip zip) { + this.zip = zip; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecStarterProjects v1alpha2DevWorkspaceTemplateSpecStarterProjects = (V1alpha2DevWorkspaceTemplateSpecStarterProjects) o; + return Objects.equals(this.attributes, v1alpha2DevWorkspaceTemplateSpecStarterProjects.attributes) && + Objects.equals(this.custom, v1alpha2DevWorkspaceTemplateSpecStarterProjects.custom) && + Objects.equals(this.description, v1alpha2DevWorkspaceTemplateSpecStarterProjects.description) && + Objects.equals(this.git, v1alpha2DevWorkspaceTemplateSpecStarterProjects.git) && + Objects.equals(this.name, v1alpha2DevWorkspaceTemplateSpecStarterProjects.name) && + Objects.equals(this.subDir, v1alpha2DevWorkspaceTemplateSpecStarterProjects.subDir) && + Objects.equals(this.zip, v1alpha2DevWorkspaceTemplateSpecStarterProjects.zip); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, custom, description, git, name, subDir, zip); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecStarterProjects {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" custom: ").append(toIndentedString(custom)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" subDir: ").append(toIndentedString(subDir)).append("\n"); + sb.append(" zip: ").append(toIndentedString(zip)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom.java new file mode 100644 index 0000000..073b90f --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom.java @@ -0,0 +1,127 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Project's Custom source + */ +@ApiModel(description = "Project's Custom source") + +public class V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom { + public static final String SERIALIZED_NAME_EMBEDDED_RESOURCE = "embeddedResource"; + @SerializedName(SERIALIZED_NAME_EMBEDDED_RESOURCE) + private Object embeddedResource; + + public static final String SERIALIZED_NAME_PROJECT_SOURCE_CLASS = "projectSourceClass"; + @SerializedName(SERIALIZED_NAME_PROJECT_SOURCE_CLASS) + private String projectSourceClass; + + + public V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom embeddedResource(Object embeddedResource) { + + this.embeddedResource = embeddedResource; + return this; + } + + /** + * Get embeddedResource + * @return embeddedResource + **/ + @ApiModelProperty(required = true, value = "") + + public Object getEmbeddedResource() { + return embeddedResource; + } + + + public void setEmbeddedResource(Object embeddedResource) { + this.embeddedResource = embeddedResource; + } + + + public V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom projectSourceClass(String projectSourceClass) { + + this.projectSourceClass = projectSourceClass; + return this; + } + + /** + * Get projectSourceClass + * @return projectSourceClass + **/ + @ApiModelProperty(required = true, value = "") + + public String getProjectSourceClass() { + return projectSourceClass; + } + + + public void setProjectSourceClass(String projectSourceClass) { + this.projectSourceClass = projectSourceClass; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom v1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom = (V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom) o; + return Objects.equals(this.embeddedResource, v1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom.embeddedResource) && + Objects.equals(this.projectSourceClass, v1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom.projectSourceClass); + } + + @Override + public int hashCode() { + return Objects.hash(embeddedResource, projectSourceClass); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsCustom {\n"); + sb.append(" embeddedResource: ").append(toIndentedString(embeddedResource)).append("\n"); + sb.append(" projectSourceClass: ").append(toIndentedString(projectSourceClass)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit.java new file mode 100644 index 0000000..056d813 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit.java @@ -0,0 +1,137 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Project's Git source + */ +@ApiModel(description = "Project's Git source") + +public class V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = new HashMap<>(); + + + public V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit checkoutFrom(V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit putRemotesItem(String key, String remotesItem) { + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @ApiModelProperty(required = true, value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit v1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit = (V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit) o; + return Objects.equals(this.checkoutFrom, v1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit.checkoutFrom) && + Objects.equals(this.remotes, v1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom.java new file mode 100644 index 0000000..a30b1f3 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom v1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom = (V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom) o; + return Objects.equals(this.remote, v1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom.remote) && + Objects.equals(this.revision, v1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip.java new file mode 100644 index 0000000..4551779 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip.java @@ -0,0 +1,100 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Project's Zip source + */ +@ApiModel(description = "Project's Zip source") + +public class V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip { + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private String location; + + + public V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip location(String location) { + + this.location = location; + return this; + } + + /** + * Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH + * @return location + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH") + + public String getLocation() { + return location; + } + + + public void setLocation(String location) { + this.location = location; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip v1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip = (V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip) o; + return Objects.equals(this.location, v1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip.location); + } + + @Override + public int hashCode() { + return Objects.hash(location); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V1alpha2DevWorkspaceTemplateSpecStarterProjectsItemsZip {\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220Devfile.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220Devfile.java new file mode 100644 index 0000000..24dfbf4 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220Devfile.java @@ -0,0 +1,411 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileCommands; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileComponents; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileEvents; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileMetadata; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParent; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileProjects; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileStarterProjects; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Devfile describes the structure of a cloud-native devworkspace and development environment. + */ +@ApiModel(description = "Devfile describes the structure of a cloud-native devworkspace and development environment.") + +public class V220Devfile { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_COMMANDS = "commands"; + @SerializedName(SERIALIZED_NAME_COMMANDS) + private List commands = null; + + public static final String SERIALIZED_NAME_COMPONENTS = "components"; + @SerializedName(SERIALIZED_NAME_COMPONENTS) + private List components = null; + + public static final String SERIALIZED_NAME_EVENTS = "events"; + @SerializedName(SERIALIZED_NAME_EVENTS) + private V220DevfileEvents events; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + private V220DevfileMetadata metadata; + + public static final String SERIALIZED_NAME_PARENT = "parent"; + @SerializedName(SERIALIZED_NAME_PARENT) + private V220DevfileParent parent; + + public static final String SERIALIZED_NAME_PROJECTS = "projects"; + @SerializedName(SERIALIZED_NAME_PROJECTS) + private List projects = null; + + public static final String SERIALIZED_NAME_SCHEMA_VERSION = "schemaVersion"; + @SerializedName(SERIALIZED_NAME_SCHEMA_VERSION) + private String schemaVersion; + + public static final String SERIALIZED_NAME_STARTER_PROJECTS = "starterProjects"; + @SerializedName(SERIALIZED_NAME_STARTER_PROJECTS) + private List starterProjects = null; + + public static final String SERIALIZED_NAME_VARIABLES = "variables"; + @SerializedName(SERIALIZED_NAME_VARIABLES) + private Map variables = null; + + + public V220Devfile attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V220Devfile commands(List commands) { + + this.commands = commands; + return this; + } + + public V220Devfile addCommandsItem(V220DevfileCommands commandsItem) { + if (this.commands == null) { + this.commands = new ArrayList<>(); + } + this.commands.add(commandsItem); + return this; + } + + /** + * Predefined, ready-to-use, devworkspace-related commands + * @return commands + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Predefined, ready-to-use, devworkspace-related commands") + + public List getCommands() { + return commands; + } + + + public void setCommands(List commands) { + this.commands = commands; + } + + + public V220Devfile components(List components) { + + this.components = components; + return this; + } + + public V220Devfile addComponentsItem(V220DevfileComponents componentsItem) { + if (this.components == null) { + this.components = new ArrayList<>(); + } + this.components.add(componentsItem); + return this; + } + + /** + * List of the devworkspace components, such as editor and plugins, user-provided containers, or other types of components + * @return components + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of the devworkspace components, such as editor and plugins, user-provided containers, or other types of components") + + public List getComponents() { + return components; + } + + + public void setComponents(List components) { + this.components = components; + } + + + public V220Devfile events(V220DevfileEvents events) { + + this.events = events; + return this; + } + + /** + * Get events + * @return events + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileEvents getEvents() { + return events; + } + + + public void setEvents(V220DevfileEvents events) { + this.events = events; + } + + + public V220Devfile metadata(V220DevfileMetadata metadata) { + + this.metadata = metadata; + return this; + } + + /** + * Get metadata + * @return metadata + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileMetadata getMetadata() { + return metadata; + } + + + public void setMetadata(V220DevfileMetadata metadata) { + this.metadata = metadata; + } + + + public V220Devfile parent(V220DevfileParent parent) { + + this.parent = parent; + return this; + } + + /** + * Get parent + * @return parent + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParent getParent() { + return parent; + } + + + public void setParent(V220DevfileParent parent) { + this.parent = parent; + } + + + public V220Devfile projects(List projects) { + + this.projects = projects; + return this; + } + + public V220Devfile addProjectsItem(V220DevfileProjects projectsItem) { + if (this.projects == null) { + this.projects = new ArrayList<>(); + } + this.projects.add(projectsItem); + return this; + } + + /** + * Projects worked on in the devworkspace, containing names and sources locations + * @return projects + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Projects worked on in the devworkspace, containing names and sources locations") + + public List getProjects() { + return projects; + } + + + public void setProjects(List projects) { + this.projects = projects; + } + + + public V220Devfile schemaVersion(String schemaVersion) { + + this.schemaVersion = schemaVersion; + return this; + } + + /** + * Devfile schema version + * @return schemaVersion + **/ + @ApiModelProperty(required = true, value = "Devfile schema version") + + public String getSchemaVersion() { + return schemaVersion; + } + + + public void setSchemaVersion(String schemaVersion) { + this.schemaVersion = schemaVersion; + } + + + public V220Devfile starterProjects(List starterProjects) { + + this.starterProjects = starterProjects; + return this; + } + + public V220Devfile addStarterProjectsItem(V220DevfileStarterProjects starterProjectsItem) { + if (this.starterProjects == null) { + this.starterProjects = new ArrayList<>(); + } + this.starterProjects.add(starterProjectsItem); + return this; + } + + /** + * StarterProjects is a project that can be used as a starting point when bootstrapping new projects + * @return starterProjects + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "StarterProjects is a project that can be used as a starting point when bootstrapping new projects") + + public List getStarterProjects() { + return starterProjects; + } + + + public void setStarterProjects(List starterProjects) { + this.starterProjects = starterProjects; + } + + + public V220Devfile variables(Map variables) { + + this.variables = variables; + return this; + } + + public V220Devfile putVariablesItem(String key, String variablesItem) { + if (this.variables == null) { + this.variables = new HashMap<>(); + } + this.variables.put(key, variablesItem); + return this; + } + + /** + * Map of key-value variables used for string replacement in the devfile. Values can be referenced via {{variable-key}} to replace the corresponding value in string fields in the devfile. Replacement cannot be used for - schemaVersion, metadata, parent source - element identifiers, e.g. command id, component name, endpoint name, project name - references to identifiers, e.g. in events, a command's component, container's volume mount name - string enums, e.g. command group kind, endpoint exposure + * @return variables + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of key-value variables used for string replacement in the devfile. Values can be referenced via {{variable-key}} to replace the corresponding value in string fields in the devfile. Replacement cannot be used for - schemaVersion, metadata, parent source - element identifiers, e.g. command id, component name, endpoint name, project name - references to identifiers, e.g. in events, a command's component, container's volume mount name - string enums, e.g. command group kind, endpoint exposure") + + public Map getVariables() { + return variables; + } + + + public void setVariables(Map variables) { + this.variables = variables; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220Devfile v220Devfile = (V220Devfile) o; + return Objects.equals(this.attributes, v220Devfile.attributes) && + Objects.equals(this.commands, v220Devfile.commands) && + Objects.equals(this.components, v220Devfile.components) && + Objects.equals(this.events, v220Devfile.events) && + Objects.equals(this.metadata, v220Devfile.metadata) && + Objects.equals(this.parent, v220Devfile.parent) && + Objects.equals(this.projects, v220Devfile.projects) && + Objects.equals(this.schemaVersion, v220Devfile.schemaVersion) && + Objects.equals(this.starterProjects, v220Devfile.starterProjects) && + Objects.equals(this.variables, v220Devfile.variables); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, commands, components, events, metadata, parent, projects, schemaVersion, starterProjects, variables); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220Devfile {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" commands: ").append(toIndentedString(commands)).append("\n"); + sb.append(" components: ").append(toIndentedString(components)).append("\n"); + sb.append(" events: ").append(toIndentedString(events)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" parent: ").append(toIndentedString(parent)).append("\n"); + sb.append(" projects: ").append(toIndentedString(projects)).append("\n"); + sb.append(" schemaVersion: ").append(toIndentedString(schemaVersion)).append("\n"); + sb.append(" starterProjects: ").append(toIndentedString(starterProjects)).append("\n"); + sb.append(" variables: ").append(toIndentedString(variables)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommands.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommands.java new file mode 100644 index 0000000..72efe49 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommands.java @@ -0,0 +1,217 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileCommandsItemsApply; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileCommandsItemsComposite; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileCommandsItemsExec; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V220DevfileCommands + */ + +public class V220DevfileCommands { + public static final String SERIALIZED_NAME_APPLY = "apply"; + @SerializedName(SERIALIZED_NAME_APPLY) + private V220DevfileCommandsItemsApply apply; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_COMPOSITE = "composite"; + @SerializedName(SERIALIZED_NAME_COMPOSITE) + private V220DevfileCommandsItemsComposite composite; + + public static final String SERIALIZED_NAME_EXEC = "exec"; + @SerializedName(SERIALIZED_NAME_EXEC) + private V220DevfileCommandsItemsExec exec; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + + public V220DevfileCommands apply(V220DevfileCommandsItemsApply apply) { + + this.apply = apply; + return this; + } + + /** + * Get apply + * @return apply + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileCommandsItemsApply getApply() { + return apply; + } + + + public void setApply(V220DevfileCommandsItemsApply apply) { + this.apply = apply; + } + + + public V220DevfileCommands attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V220DevfileCommands composite(V220DevfileCommandsItemsComposite composite) { + + this.composite = composite; + return this; + } + + /** + * Get composite + * @return composite + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileCommandsItemsComposite getComposite() { + return composite; + } + + + public void setComposite(V220DevfileCommandsItemsComposite composite) { + this.composite = composite; + } + + + public V220DevfileCommands exec(V220DevfileCommandsItemsExec exec) { + + this.exec = exec; + return this; + } + + /** + * Get exec + * @return exec + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileCommandsItemsExec getExec() { + return exec; + } + + + public void setExec(V220DevfileCommandsItemsExec exec) { + this.exec = exec; + } + + + public V220DevfileCommands id(String id) { + + this.id = id; + return this; + } + + /** + * Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events. + * @return id + **/ + @ApiModelProperty(required = true, value = "Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileCommands v220DevfileCommands = (V220DevfileCommands) o; + return Objects.equals(this.apply, v220DevfileCommands.apply) && + Objects.equals(this.attributes, v220DevfileCommands.attributes) && + Objects.equals(this.composite, v220DevfileCommands.composite) && + Objects.equals(this.exec, v220DevfileCommands.exec) && + Objects.equals(this.id, v220DevfileCommands.id); + } + + @Override + public int hashCode() { + return Objects.hash(apply, attributes, composite, exec, id); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileCommands {\n"); + sb.append(" apply: ").append(toIndentedString(apply)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" composite: ").append(toIndentedString(composite)).append("\n"); + sb.append(" exec: ").append(toIndentedString(exec)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsApply.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsApply.java new file mode 100644 index 0000000..7fb2633 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsApply.java @@ -0,0 +1,158 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileCommandsItemsApplyGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. + */ +@ApiModel(description = "Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false.") + +public class V220DevfileCommandsItemsApply { + public static final String SERIALIZED_NAME_COMPONENT = "component"; + @SerializedName(SERIALIZED_NAME_COMPONENT) + private String component; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V220DevfileCommandsItemsApplyGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + + public V220DevfileCommandsItemsApply component(String component) { + + this.component = component; + return this; + } + + /** + * Describes component that will be applied + * @return component + **/ + @ApiModelProperty(required = true, value = "Describes component that will be applied") + + public String getComponent() { + return component; + } + + + public void setComponent(String component) { + this.component = component; + } + + + public V220DevfileCommandsItemsApply group(V220DevfileCommandsItemsApplyGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileCommandsItemsApplyGroup getGroup() { + return group; + } + + + public void setGroup(V220DevfileCommandsItemsApplyGroup group) { + this.group = group; + } + + + public V220DevfileCommandsItemsApply label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileCommandsItemsApply v220DevfileCommandsItemsApply = (V220DevfileCommandsItemsApply) o; + return Objects.equals(this.component, v220DevfileCommandsItemsApply.component) && + Objects.equals(this.group, v220DevfileCommandsItemsApply.group) && + Objects.equals(this.label, v220DevfileCommandsItemsApply.label); + } + + @Override + public int hashCode() { + return Objects.hash(component, group, label); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileCommandsItemsApply {\n"); + sb.append(" component: ").append(toIndentedString(component)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsApplyGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsApplyGroup.java new file mode 100644 index 0000000..bfa11eb --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsApplyGroup.java @@ -0,0 +1,181 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V220DevfileCommandsItemsApplyGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V220DevfileCommandsItemsApplyGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V220DevfileCommandsItemsApplyGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @ApiModelProperty(required = true, value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileCommandsItemsApplyGroup v220DevfileCommandsItemsApplyGroup = (V220DevfileCommandsItemsApplyGroup) o; + return Objects.equals(this.isDefault, v220DevfileCommandsItemsApplyGroup.isDefault) && + Objects.equals(this.kind, v220DevfileCommandsItemsApplyGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileCommandsItemsApplyGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsComposite.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsComposite.java new file mode 100644 index 0000000..62a8e5c --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsComposite.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileCommandsItemsCompositeGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Composite command that allows executing several sub-commands either sequentially or concurrently + */ +@ApiModel(description = "Composite command that allows executing several sub-commands either sequentially or concurrently") + +public class V220DevfileCommandsItemsComposite { + public static final String SERIALIZED_NAME_COMMANDS = "commands"; + @SerializedName(SERIALIZED_NAME_COMMANDS) + private List commands = null; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V220DevfileCommandsItemsCompositeGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + public static final String SERIALIZED_NAME_PARALLEL = "parallel"; + @SerializedName(SERIALIZED_NAME_PARALLEL) + private Boolean parallel; + + + public V220DevfileCommandsItemsComposite commands(List commands) { + + this.commands = commands; + return this; + } + + public V220DevfileCommandsItemsComposite addCommandsItem(String commandsItem) { + if (this.commands == null) { + this.commands = new ArrayList<>(); + } + this.commands.add(commandsItem); + return this; + } + + /** + * The commands that comprise this composite command + * @return commands + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The commands that comprise this composite command") + + public List getCommands() { + return commands; + } + + + public void setCommands(List commands) { + this.commands = commands; + } + + + public V220DevfileCommandsItemsComposite group(V220DevfileCommandsItemsCompositeGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileCommandsItemsCompositeGroup getGroup() { + return group; + } + + + public void setGroup(V220DevfileCommandsItemsCompositeGroup group) { + this.group = group; + } + + + public V220DevfileCommandsItemsComposite label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + public V220DevfileCommandsItemsComposite parallel(Boolean parallel) { + + this.parallel = parallel; + return this; + } + + /** + * Indicates if the sub-commands should be executed concurrently + * @return parallel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates if the sub-commands should be executed concurrently") + + public Boolean getParallel() { + return parallel; + } + + + public void setParallel(Boolean parallel) { + this.parallel = parallel; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileCommandsItemsComposite v220DevfileCommandsItemsComposite = (V220DevfileCommandsItemsComposite) o; + return Objects.equals(this.commands, v220DevfileCommandsItemsComposite.commands) && + Objects.equals(this.group, v220DevfileCommandsItemsComposite.group) && + Objects.equals(this.label, v220DevfileCommandsItemsComposite.label) && + Objects.equals(this.parallel, v220DevfileCommandsItemsComposite.parallel); + } + + @Override + public int hashCode() { + return Objects.hash(commands, group, label, parallel); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileCommandsItemsComposite {\n"); + sb.append(" commands: ").append(toIndentedString(commands)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" parallel: ").append(toIndentedString(parallel)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsCompositeGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsCompositeGroup.java new file mode 100644 index 0000000..db3b93c --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsCompositeGroup.java @@ -0,0 +1,181 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V220DevfileCommandsItemsCompositeGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V220DevfileCommandsItemsCompositeGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V220DevfileCommandsItemsCompositeGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @ApiModelProperty(required = true, value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileCommandsItemsCompositeGroup v220DevfileCommandsItemsCompositeGroup = (V220DevfileCommandsItemsCompositeGroup) o; + return Objects.equals(this.isDefault, v220DevfileCommandsItemsCompositeGroup.isDefault) && + Objects.equals(this.kind, v220DevfileCommandsItemsCompositeGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileCommandsItemsCompositeGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsExec.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsExec.java new file mode 100644 index 0000000..7d3fa0e --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsExec.java @@ -0,0 +1,284 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileCommandsItemsExecEnv; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileCommandsItemsExecGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CLI Command executed in an existing component container + */ +@ApiModel(description = "CLI Command executed in an existing component container") + +public class V220DevfileCommandsItemsExec { + public static final String SERIALIZED_NAME_COMMAND_LINE = "commandLine"; + @SerializedName(SERIALIZED_NAME_COMMAND_LINE) + private String commandLine; + + public static final String SERIALIZED_NAME_COMPONENT = "component"; + @SerializedName(SERIALIZED_NAME_COMPONENT) + private String component; + + public static final String SERIALIZED_NAME_ENV = "env"; + @SerializedName(SERIALIZED_NAME_ENV) + private List env = null; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V220DevfileCommandsItemsExecGroup group; + + public static final String SERIALIZED_NAME_HOT_RELOAD_CAPABLE = "hotReloadCapable"; + @SerializedName(SERIALIZED_NAME_HOT_RELOAD_CAPABLE) + private Boolean hotReloadCapable; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + public static final String SERIALIZED_NAME_WORKING_DIR = "workingDir"; + @SerializedName(SERIALIZED_NAME_WORKING_DIR) + private String workingDir; + + + public V220DevfileCommandsItemsExec commandLine(String commandLine) { + + this.commandLine = commandLine; + return this; + } + + /** + * The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. + * @return commandLine + **/ + @ApiModelProperty(required = true, value = "The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one.") + + public String getCommandLine() { + return commandLine; + } + + + public void setCommandLine(String commandLine) { + this.commandLine = commandLine; + } + + + public V220DevfileCommandsItemsExec component(String component) { + + this.component = component; + return this; + } + + /** + * Describes component to which given action relates + * @return component + **/ + @ApiModelProperty(required = true, value = "Describes component to which given action relates") + + public String getComponent() { + return component; + } + + + public void setComponent(String component) { + this.component = component; + } + + + public V220DevfileCommandsItemsExec env(List env) { + + this.env = env; + return this; + } + + public V220DevfileCommandsItemsExec addEnvItem(V220DevfileCommandsItemsExecEnv envItem) { + if (this.env == null) { + this.env = new ArrayList<>(); + } + this.env.add(envItem); + return this; + } + + /** + * Optional list of environment variables that have to be set before running the command + * @return env + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional list of environment variables that have to be set before running the command") + + public List getEnv() { + return env; + } + + + public void setEnv(List env) { + this.env = env; + } + + + public V220DevfileCommandsItemsExec group(V220DevfileCommandsItemsExecGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileCommandsItemsExecGroup getGroup() { + return group; + } + + + public void setGroup(V220DevfileCommandsItemsExecGroup group) { + this.group = group; + } + + + public V220DevfileCommandsItemsExec hotReloadCapable(Boolean hotReloadCapable) { + + this.hotReloadCapable = hotReloadCapable; + return this; + } + + /** + * Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false` + * @return hotReloadCapable + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false`") + + public Boolean getHotReloadCapable() { + return hotReloadCapable; + } + + + public void setHotReloadCapable(Boolean hotReloadCapable) { + this.hotReloadCapable = hotReloadCapable; + } + + + public V220DevfileCommandsItemsExec label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + public V220DevfileCommandsItemsExec workingDir(String workingDir) { + + this.workingDir = workingDir; + return this; + } + + /** + * Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. + * @return workingDir + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one.") + + public String getWorkingDir() { + return workingDir; + } + + + public void setWorkingDir(String workingDir) { + this.workingDir = workingDir; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileCommandsItemsExec v220DevfileCommandsItemsExec = (V220DevfileCommandsItemsExec) o; + return Objects.equals(this.commandLine, v220DevfileCommandsItemsExec.commandLine) && + Objects.equals(this.component, v220DevfileCommandsItemsExec.component) && + Objects.equals(this.env, v220DevfileCommandsItemsExec.env) && + Objects.equals(this.group, v220DevfileCommandsItemsExec.group) && + Objects.equals(this.hotReloadCapable, v220DevfileCommandsItemsExec.hotReloadCapable) && + Objects.equals(this.label, v220DevfileCommandsItemsExec.label) && + Objects.equals(this.workingDir, v220DevfileCommandsItemsExec.workingDir); + } + + @Override + public int hashCode() { + return Objects.hash(commandLine, component, env, group, hotReloadCapable, label, workingDir); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileCommandsItemsExec {\n"); + sb.append(" commandLine: ").append(toIndentedString(commandLine)).append("\n"); + sb.append(" component: ").append(toIndentedString(component)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" hotReloadCapable: ").append(toIndentedString(hotReloadCapable)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" workingDir: ").append(toIndentedString(workingDir)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsExecEnv.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsExecEnv.java new file mode 100644 index 0000000..4be2de2 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsExecEnv.java @@ -0,0 +1,126 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V220DevfileCommandsItemsExecEnv + */ + +public class V220DevfileCommandsItemsExecEnv { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public V220DevfileCommandsItemsExecEnv name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V220DevfileCommandsItemsExecEnv value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @ApiModelProperty(required = true, value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileCommandsItemsExecEnv v220DevfileCommandsItemsExecEnv = (V220DevfileCommandsItemsExecEnv) o; + return Objects.equals(this.name, v220DevfileCommandsItemsExecEnv.name) && + Objects.equals(this.value, v220DevfileCommandsItemsExecEnv.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileCommandsItemsExecEnv {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsExecGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsExecGroup.java new file mode 100644 index 0000000..c4542c9 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileCommandsItemsExecGroup.java @@ -0,0 +1,181 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V220DevfileCommandsItemsExecGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V220DevfileCommandsItemsExecGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V220DevfileCommandsItemsExecGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @ApiModelProperty(required = true, value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileCommandsItemsExecGroup v220DevfileCommandsItemsExecGroup = (V220DevfileCommandsItemsExecGroup) o; + return Objects.equals(this.isDefault, v220DevfileCommandsItemsExecGroup.isDefault) && + Objects.equals(this.kind, v220DevfileCommandsItemsExecGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileCommandsItemsExecGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponents.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponents.java new file mode 100644 index 0000000..9b8de33 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponents.java @@ -0,0 +1,277 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileComponentsItemsContainer; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileComponentsItemsImage; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileComponentsItemsKubernetes; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileComponentsItemsOpenshift; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileComponentsItemsVolume; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V220DevfileComponents + */ + +public class V220DevfileComponents { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_CONTAINER = "container"; + @SerializedName(SERIALIZED_NAME_CONTAINER) + private V220DevfileComponentsItemsContainer container; + + public static final String SERIALIZED_NAME_IMAGE = "image"; + @SerializedName(SERIALIZED_NAME_IMAGE) + private V220DevfileComponentsItemsImage image; + + public static final String SERIALIZED_NAME_KUBERNETES = "kubernetes"; + @SerializedName(SERIALIZED_NAME_KUBERNETES) + private V220DevfileComponentsItemsKubernetes kubernetes; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OPENSHIFT = "openshift"; + @SerializedName(SERIALIZED_NAME_OPENSHIFT) + private V220DevfileComponentsItemsOpenshift openshift; + + public static final String SERIALIZED_NAME_VOLUME = "volume"; + @SerializedName(SERIALIZED_NAME_VOLUME) + private V220DevfileComponentsItemsVolume volume; + + + public V220DevfileComponents attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V220DevfileComponents container(V220DevfileComponentsItemsContainer container) { + + this.container = container; + return this; + } + + /** + * Get container + * @return container + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileComponentsItemsContainer getContainer() { + return container; + } + + + public void setContainer(V220DevfileComponentsItemsContainer container) { + this.container = container; + } + + + public V220DevfileComponents image(V220DevfileComponentsItemsImage image) { + + this.image = image; + return this; + } + + /** + * Get image + * @return image + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileComponentsItemsImage getImage() { + return image; + } + + + public void setImage(V220DevfileComponentsItemsImage image) { + this.image = image; + } + + + public V220DevfileComponents kubernetes(V220DevfileComponentsItemsKubernetes kubernetes) { + + this.kubernetes = kubernetes; + return this; + } + + /** + * Get kubernetes + * @return kubernetes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileComponentsItemsKubernetes getKubernetes() { + return kubernetes; + } + + + public void setKubernetes(V220DevfileComponentsItemsKubernetes kubernetes) { + this.kubernetes = kubernetes; + } + + + public V220DevfileComponents name(String name) { + + this.name = name; + return this; + } + + /** + * Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin. + * @return name + **/ + @ApiModelProperty(required = true, value = "Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V220DevfileComponents openshift(V220DevfileComponentsItemsOpenshift openshift) { + + this.openshift = openshift; + return this; + } + + /** + * Get openshift + * @return openshift + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileComponentsItemsOpenshift getOpenshift() { + return openshift; + } + + + public void setOpenshift(V220DevfileComponentsItemsOpenshift openshift) { + this.openshift = openshift; + } + + + public V220DevfileComponents volume(V220DevfileComponentsItemsVolume volume) { + + this.volume = volume; + return this; + } + + /** + * Get volume + * @return volume + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileComponentsItemsVolume getVolume() { + return volume; + } + + + public void setVolume(V220DevfileComponentsItemsVolume volume) { + this.volume = volume; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileComponents v220DevfileComponents = (V220DevfileComponents) o; + return Objects.equals(this.attributes, v220DevfileComponents.attributes) && + Objects.equals(this.container, v220DevfileComponents.container) && + Objects.equals(this.image, v220DevfileComponents.image) && + Objects.equals(this.kubernetes, v220DevfileComponents.kubernetes) && + Objects.equals(this.name, v220DevfileComponents.name) && + Objects.equals(this.openshift, v220DevfileComponents.openshift) && + Objects.equals(this.volume, v220DevfileComponents.volume); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, container, image, kubernetes, name, openshift, volume); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileComponents {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" container: ").append(toIndentedString(container)).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" kubernetes: ").append(toIndentedString(kubernetes)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" openshift: ").append(toIndentedString(openshift)).append("\n"); + sb.append(" volume: ").append(toIndentedString(volume)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsContainer.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsContainer.java new file mode 100644 index 0000000..9474201 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsContainer.java @@ -0,0 +1,522 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileComponentsItemsContainerAnnotation; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileComponentsItemsContainerEndpoints; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileComponentsItemsContainerEnv; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileComponentsItemsContainerVolumeMounts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows adding and configuring devworkspace-related containers + */ +@ApiModel(description = "Allows adding and configuring devworkspace-related containers") + +public class V220DevfileComponentsItemsContainer { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private V220DevfileComponentsItemsContainerAnnotation annotation; + + public static final String SERIALIZED_NAME_ARGS = "args"; + @SerializedName(SERIALIZED_NAME_ARGS) + private List args = null; + + public static final String SERIALIZED_NAME_COMMAND = "command"; + @SerializedName(SERIALIZED_NAME_COMMAND) + private List command = null; + + public static final String SERIALIZED_NAME_CPU_LIMIT = "cpuLimit"; + @SerializedName(SERIALIZED_NAME_CPU_LIMIT) + private String cpuLimit; + + public static final String SERIALIZED_NAME_CPU_REQUEST = "cpuRequest"; + @SerializedName(SERIALIZED_NAME_CPU_REQUEST) + private String cpuRequest; + + public static final String SERIALIZED_NAME_DEDICATED_POD = "dedicatedPod"; + @SerializedName(SERIALIZED_NAME_DEDICATED_POD) + private Boolean dedicatedPod; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_ENV = "env"; + @SerializedName(SERIALIZED_NAME_ENV) + private List env = null; + + public static final String SERIALIZED_NAME_IMAGE = "image"; + @SerializedName(SERIALIZED_NAME_IMAGE) + private String image; + + public static final String SERIALIZED_NAME_MEMORY_LIMIT = "memoryLimit"; + @SerializedName(SERIALIZED_NAME_MEMORY_LIMIT) + private String memoryLimit; + + public static final String SERIALIZED_NAME_MEMORY_REQUEST = "memoryRequest"; + @SerializedName(SERIALIZED_NAME_MEMORY_REQUEST) + private String memoryRequest; + + public static final String SERIALIZED_NAME_MOUNT_SOURCES = "mountSources"; + @SerializedName(SERIALIZED_NAME_MOUNT_SOURCES) + private Boolean mountSources; + + public static final String SERIALIZED_NAME_SOURCE_MAPPING = "sourceMapping"; + @SerializedName(SERIALIZED_NAME_SOURCE_MAPPING) + private String sourceMapping = "/projects"; + + public static final String SERIALIZED_NAME_VOLUME_MOUNTS = "volumeMounts"; + @SerializedName(SERIALIZED_NAME_VOLUME_MOUNTS) + private List volumeMounts = null; + + + public V220DevfileComponentsItemsContainer annotation(V220DevfileComponentsItemsContainerAnnotation annotation) { + + this.annotation = annotation; + return this; + } + + /** + * Get annotation + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileComponentsItemsContainerAnnotation getAnnotation() { + return annotation; + } + + + public void setAnnotation(V220DevfileComponentsItemsContainerAnnotation annotation) { + this.annotation = annotation; + } + + + public V220DevfileComponentsItemsContainer args(List args) { + + this.args = args; + return this; + } + + public V220DevfileComponentsItemsContainer addArgsItem(String argsItem) { + if (this.args == null) { + this.args = new ArrayList<>(); + } + this.args.add(argsItem); + return this; + } + + /** + * The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image. + * @return args + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image.") + + public List getArgs() { + return args; + } + + + public void setArgs(List args) { + this.args = args; + } + + + public V220DevfileComponentsItemsContainer command(List command) { + + this.command = command; + return this; + } + + public V220DevfileComponentsItemsContainer addCommandItem(String commandItem) { + if (this.command == null) { + this.command = new ArrayList<>(); + } + this.command.add(commandItem); + return this; + } + + /** + * The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image. + * @return command + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image.") + + public List getCommand() { + return command; + } + + + public void setCommand(List command) { + this.command = command; + } + + + public V220DevfileComponentsItemsContainer cpuLimit(String cpuLimit) { + + this.cpuLimit = cpuLimit; + return this; + } + + /** + * Get cpuLimit + * @return cpuLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCpuLimit() { + return cpuLimit; + } + + + public void setCpuLimit(String cpuLimit) { + this.cpuLimit = cpuLimit; + } + + + public V220DevfileComponentsItemsContainer cpuRequest(String cpuRequest) { + + this.cpuRequest = cpuRequest; + return this; + } + + /** + * Get cpuRequest + * @return cpuRequest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCpuRequest() { + return cpuRequest; + } + + + public void setCpuRequest(String cpuRequest) { + this.cpuRequest = cpuRequest; + } + + + public V220DevfileComponentsItemsContainer dedicatedPod(Boolean dedicatedPod) { + + this.dedicatedPod = dedicatedPod; + return this; + } + + /** + * Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false` + * @return dedicatedPod + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false`") + + public Boolean getDedicatedPod() { + return dedicatedPod; + } + + + public void setDedicatedPod(Boolean dedicatedPod) { + this.dedicatedPod = dedicatedPod; + } + + + public V220DevfileComponentsItemsContainer endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V220DevfileComponentsItemsContainer addEndpointsItem(V220DevfileComponentsItemsContainerEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V220DevfileComponentsItemsContainer env(List env) { + + this.env = env; + return this; + } + + public V220DevfileComponentsItemsContainer addEnvItem(V220DevfileComponentsItemsContainerEnv envItem) { + if (this.env == null) { + this.env = new ArrayList<>(); + } + this.env.add(envItem); + return this; + } + + /** + * Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE` + * @return env + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE`") + + public List getEnv() { + return env; + } + + + public void setEnv(List env) { + this.env = env; + } + + + public V220DevfileComponentsItemsContainer image(String image) { + + this.image = image; + return this; + } + + /** + * Get image + * @return image + **/ + @ApiModelProperty(required = true, value = "") + + public String getImage() { + return image; + } + + + public void setImage(String image) { + this.image = image; + } + + + public V220DevfileComponentsItemsContainer memoryLimit(String memoryLimit) { + + this.memoryLimit = memoryLimit; + return this; + } + + /** + * Get memoryLimit + * @return memoryLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMemoryLimit() { + return memoryLimit; + } + + + public void setMemoryLimit(String memoryLimit) { + this.memoryLimit = memoryLimit; + } + + + public V220DevfileComponentsItemsContainer memoryRequest(String memoryRequest) { + + this.memoryRequest = memoryRequest; + return this; + } + + /** + * Get memoryRequest + * @return memoryRequest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMemoryRequest() { + return memoryRequest; + } + + + public void setMemoryRequest(String memoryRequest) { + this.memoryRequest = memoryRequest; + } + + + public V220DevfileComponentsItemsContainer mountSources(Boolean mountSources) { + + this.mountSources = mountSources; + return this; + } + + /** + * Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. + * @return mountSources + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true.") + + public Boolean getMountSources() { + return mountSources; + } + + + public void setMountSources(Boolean mountSources) { + this.mountSources = mountSources; + } + + + public V220DevfileComponentsItemsContainer sourceMapping(String sourceMapping) { + + this.sourceMapping = sourceMapping; + return this; + } + + /** + * Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used. + * @return sourceMapping + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used.") + + public String getSourceMapping() { + return sourceMapping; + } + + + public void setSourceMapping(String sourceMapping) { + this.sourceMapping = sourceMapping; + } + + + public V220DevfileComponentsItemsContainer volumeMounts(List volumeMounts) { + + this.volumeMounts = volumeMounts; + return this; + } + + public V220DevfileComponentsItemsContainer addVolumeMountsItem(V220DevfileComponentsItemsContainerVolumeMounts volumeMountsItem) { + if (this.volumeMounts == null) { + this.volumeMounts = new ArrayList<>(); + } + this.volumeMounts.add(volumeMountsItem); + return this; + } + + /** + * List of volumes mounts that should be mounted is this container. + * @return volumeMounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of volumes mounts that should be mounted is this container.") + + public List getVolumeMounts() { + return volumeMounts; + } + + + public void setVolumeMounts(List volumeMounts) { + this.volumeMounts = volumeMounts; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileComponentsItemsContainer v220DevfileComponentsItemsContainer = (V220DevfileComponentsItemsContainer) o; + return Objects.equals(this.annotation, v220DevfileComponentsItemsContainer.annotation) && + Objects.equals(this.args, v220DevfileComponentsItemsContainer.args) && + Objects.equals(this.command, v220DevfileComponentsItemsContainer.command) && + Objects.equals(this.cpuLimit, v220DevfileComponentsItemsContainer.cpuLimit) && + Objects.equals(this.cpuRequest, v220DevfileComponentsItemsContainer.cpuRequest) && + Objects.equals(this.dedicatedPod, v220DevfileComponentsItemsContainer.dedicatedPod) && + Objects.equals(this.endpoints, v220DevfileComponentsItemsContainer.endpoints) && + Objects.equals(this.env, v220DevfileComponentsItemsContainer.env) && + Objects.equals(this.image, v220DevfileComponentsItemsContainer.image) && + Objects.equals(this.memoryLimit, v220DevfileComponentsItemsContainer.memoryLimit) && + Objects.equals(this.memoryRequest, v220DevfileComponentsItemsContainer.memoryRequest) && + Objects.equals(this.mountSources, v220DevfileComponentsItemsContainer.mountSources) && + Objects.equals(this.sourceMapping, v220DevfileComponentsItemsContainer.sourceMapping) && + Objects.equals(this.volumeMounts, v220DevfileComponentsItemsContainer.volumeMounts); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, args, command, cpuLimit, cpuRequest, dedicatedPod, endpoints, env, image, memoryLimit, memoryRequest, mountSources, sourceMapping, volumeMounts); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileComponentsItemsContainer {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" args: ").append(toIndentedString(args)).append("\n"); + sb.append(" command: ").append(toIndentedString(command)).append("\n"); + sb.append(" cpuLimit: ").append(toIndentedString(cpuLimit)).append("\n"); + sb.append(" cpuRequest: ").append(toIndentedString(cpuRequest)).append("\n"); + sb.append(" dedicatedPod: ").append(toIndentedString(dedicatedPod)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" memoryLimit: ").append(toIndentedString(memoryLimit)).append("\n"); + sb.append(" memoryRequest: ").append(toIndentedString(memoryRequest)).append("\n"); + sb.append(" mountSources: ").append(toIndentedString(mountSources)).append("\n"); + sb.append(" sourceMapping: ").append(toIndentedString(sourceMapping)).append("\n"); + sb.append(" volumeMounts: ").append(toIndentedString(volumeMounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsContainerAnnotation.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsContainerAnnotation.java new file mode 100644 index 0000000..0ff60e9 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsContainerAnnotation.java @@ -0,0 +1,148 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Annotations that should be added to specific resources for this container + */ +@ApiModel(description = "Annotations that should be added to specific resources for this container") + +public class V220DevfileComponentsItemsContainerAnnotation { + public static final String SERIALIZED_NAME_DEPLOYMENT = "deployment"; + @SerializedName(SERIALIZED_NAME_DEPLOYMENT) + private Map deployment = null; + + public static final String SERIALIZED_NAME_SERVICE = "service"; + @SerializedName(SERIALIZED_NAME_SERVICE) + private Map service = null; + + + public V220DevfileComponentsItemsContainerAnnotation deployment(Map deployment) { + + this.deployment = deployment; + return this; + } + + public V220DevfileComponentsItemsContainerAnnotation putDeploymentItem(String key, String deploymentItem) { + if (this.deployment == null) { + this.deployment = new HashMap<>(); + } + this.deployment.put(key, deploymentItem); + return this; + } + + /** + * Annotations to be added to deployment + * @return deployment + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to deployment") + + public Map getDeployment() { + return deployment; + } + + + public void setDeployment(Map deployment) { + this.deployment = deployment; + } + + + public V220DevfileComponentsItemsContainerAnnotation service(Map service) { + + this.service = service; + return this; + } + + public V220DevfileComponentsItemsContainerAnnotation putServiceItem(String key, String serviceItem) { + if (this.service == null) { + this.service = new HashMap<>(); + } + this.service.put(key, serviceItem); + return this; + } + + /** + * Annotations to be added to service + * @return service + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to service") + + public Map getService() { + return service; + } + + + public void setService(Map service) { + this.service = service; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileComponentsItemsContainerAnnotation v220DevfileComponentsItemsContainerAnnotation = (V220DevfileComponentsItemsContainerAnnotation) o; + return Objects.equals(this.deployment, v220DevfileComponentsItemsContainerAnnotation.deployment) && + Objects.equals(this.service, v220DevfileComponentsItemsContainerAnnotation.service); + } + + @Override + public int hashCode() { + return Objects.hash(deployment, service); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileComponentsItemsContainerAnnotation {\n"); + sb.append(" deployment: ").append(toIndentedString(deployment)).append("\n"); + sb.append(" service: ").append(toIndentedString(service)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsContainerEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsContainerEndpoints.java new file mode 100644 index 0000000..fcbe10d --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsContainerEndpoints.java @@ -0,0 +1,415 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V220DevfileComponentsItemsContainerEndpoints + */ + +public class V220DevfileComponentsItemsContainerEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure = ExposureEnum.PUBLIC; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol = ProtocolEnum.HTTP; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V220DevfileComponentsItemsContainerEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V220DevfileComponentsItemsContainerEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V220DevfileComponentsItemsContainerEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V220DevfileComponentsItemsContainerEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V220DevfileComponentsItemsContainerEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V220DevfileComponentsItemsContainerEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V220DevfileComponentsItemsContainerEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V220DevfileComponentsItemsContainerEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V220DevfileComponentsItemsContainerEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @ApiModelProperty(required = true, value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileComponentsItemsContainerEndpoints v220DevfileComponentsItemsContainerEndpoints = (V220DevfileComponentsItemsContainerEndpoints) o; + return Objects.equals(this.annotation, v220DevfileComponentsItemsContainerEndpoints.annotation) && + Objects.equals(this.attributes, v220DevfileComponentsItemsContainerEndpoints.attributes) && + Objects.equals(this.exposure, v220DevfileComponentsItemsContainerEndpoints.exposure) && + Objects.equals(this.name, v220DevfileComponentsItemsContainerEndpoints.name) && + Objects.equals(this.path, v220DevfileComponentsItemsContainerEndpoints.path) && + Objects.equals(this.protocol, v220DevfileComponentsItemsContainerEndpoints.protocol) && + Objects.equals(this.secure, v220DevfileComponentsItemsContainerEndpoints.secure) && + Objects.equals(this.targetPort, v220DevfileComponentsItemsContainerEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileComponentsItemsContainerEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsContainerEnv.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsContainerEnv.java new file mode 100644 index 0000000..4ab8e36 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsContainerEnv.java @@ -0,0 +1,126 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V220DevfileComponentsItemsContainerEnv + */ + +public class V220DevfileComponentsItemsContainerEnv { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public V220DevfileComponentsItemsContainerEnv name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V220DevfileComponentsItemsContainerEnv value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @ApiModelProperty(required = true, value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileComponentsItemsContainerEnv v220DevfileComponentsItemsContainerEnv = (V220DevfileComponentsItemsContainerEnv) o; + return Objects.equals(this.name, v220DevfileComponentsItemsContainerEnv.name) && + Objects.equals(this.value, v220DevfileComponentsItemsContainerEnv.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileComponentsItemsContainerEnv {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsContainerVolumeMounts.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsContainerVolumeMounts.java new file mode 100644 index 0000000..7c8bee6 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsContainerVolumeMounts.java @@ -0,0 +1,128 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Volume that should be mounted to a component container + */ +@ApiModel(description = "Volume that should be mounted to a component container") + +public class V220DevfileComponentsItemsContainerVolumeMounts { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + + public V220DevfileComponentsItemsContainerVolumeMounts name(String name) { + + this.name = name; + return this; + } + + /** + * The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files. + * @return name + **/ + @ApiModelProperty(required = true, value = "The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V220DevfileComponentsItemsContainerVolumeMounts path(String path) { + + this.path = path; + return this; + } + + /** + * The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/<name>`. + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/`.") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileComponentsItemsContainerVolumeMounts v220DevfileComponentsItemsContainerVolumeMounts = (V220DevfileComponentsItemsContainerVolumeMounts) o; + return Objects.equals(this.name, v220DevfileComponentsItemsContainerVolumeMounts.name) && + Objects.equals(this.path, v220DevfileComponentsItemsContainerVolumeMounts.path); + } + + @Override + public int hashCode() { + return Objects.hash(name, path); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileComponentsItemsContainerVolumeMounts {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsImage.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsImage.java new file mode 100644 index 0000000..5a628e9 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsImage.java @@ -0,0 +1,158 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileComponentsItemsImageDockerfile; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the definition of an image for outer loop builds + */ +@ApiModel(description = "Allows specifying the definition of an image for outer loop builds") + +public class V220DevfileComponentsItemsImage { + public static final String SERIALIZED_NAME_AUTO_BUILD = "autoBuild"; + @SerializedName(SERIALIZED_NAME_AUTO_BUILD) + private Boolean autoBuild; + + public static final String SERIALIZED_NAME_DOCKERFILE = "dockerfile"; + @SerializedName(SERIALIZED_NAME_DOCKERFILE) + private V220DevfileComponentsItemsImageDockerfile dockerfile; + + public static final String SERIALIZED_NAME_IMAGE_NAME = "imageName"; + @SerializedName(SERIALIZED_NAME_IMAGE_NAME) + private String imageName; + + + public V220DevfileComponentsItemsImage autoBuild(Boolean autoBuild) { + + this.autoBuild = autoBuild; + return this; + } + + /** + * Defines if the image should be built during startup. Default value is `false` + * @return autoBuild + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the image should be built during startup. Default value is `false`") + + public Boolean getAutoBuild() { + return autoBuild; + } + + + public void setAutoBuild(Boolean autoBuild) { + this.autoBuild = autoBuild; + } + + + public V220DevfileComponentsItemsImage dockerfile(V220DevfileComponentsItemsImageDockerfile dockerfile) { + + this.dockerfile = dockerfile; + return this; + } + + /** + * Get dockerfile + * @return dockerfile + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileComponentsItemsImageDockerfile getDockerfile() { + return dockerfile; + } + + + public void setDockerfile(V220DevfileComponentsItemsImageDockerfile dockerfile) { + this.dockerfile = dockerfile; + } + + + public V220DevfileComponentsItemsImage imageName(String imageName) { + + this.imageName = imageName; + return this; + } + + /** + * Name of the image for the resulting outerloop build + * @return imageName + **/ + @ApiModelProperty(required = true, value = "Name of the image for the resulting outerloop build") + + public String getImageName() { + return imageName; + } + + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileComponentsItemsImage v220DevfileComponentsItemsImage = (V220DevfileComponentsItemsImage) o; + return Objects.equals(this.autoBuild, v220DevfileComponentsItemsImage.autoBuild) && + Objects.equals(this.dockerfile, v220DevfileComponentsItemsImage.dockerfile) && + Objects.equals(this.imageName, v220DevfileComponentsItemsImage.imageName); + } + + @Override + public int hashCode() { + return Objects.hash(autoBuild, dockerfile, imageName); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileComponentsItemsImage {\n"); + sb.append(" autoBuild: ").append(toIndentedString(autoBuild)).append("\n"); + sb.append(" dockerfile: ").append(toIndentedString(dockerfile)).append("\n"); + sb.append(" imageName: ").append(toIndentedString(imageName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsImageDockerfile.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsImageDockerfile.java new file mode 100644 index 0000000..8864d10 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsImageDockerfile.java @@ -0,0 +1,257 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileComponentsItemsImageDockerfileDevfileRegistry; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileComponentsItemsImageDockerfileGit; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows specifying dockerfile type build + */ +@ApiModel(description = "Allows specifying dockerfile type build") + +public class V220DevfileComponentsItemsImageDockerfile { + public static final String SERIALIZED_NAME_ARGS = "args"; + @SerializedName(SERIALIZED_NAME_ARGS) + private List args = null; + + public static final String SERIALIZED_NAME_BUILD_CONTEXT = "buildContext"; + @SerializedName(SERIALIZED_NAME_BUILD_CONTEXT) + private String buildContext; + + public static final String SERIALIZED_NAME_DEVFILE_REGISTRY = "devfileRegistry"; + @SerializedName(SERIALIZED_NAME_DEVFILE_REGISTRY) + private V220DevfileComponentsItemsImageDockerfileDevfileRegistry devfileRegistry; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V220DevfileComponentsItemsImageDockerfileGit git; + + public static final String SERIALIZED_NAME_ROOT_REQUIRED = "rootRequired"; + @SerializedName(SERIALIZED_NAME_ROOT_REQUIRED) + private Boolean rootRequired; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V220DevfileComponentsItemsImageDockerfile args(List args) { + + this.args = args; + return this; + } + + public V220DevfileComponentsItemsImageDockerfile addArgsItem(String argsItem) { + if (this.args == null) { + this.args = new ArrayList<>(); + } + this.args.add(argsItem); + return this; + } + + /** + * The arguments to supply to the dockerfile build. + * @return args + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The arguments to supply to the dockerfile build.") + + public List getArgs() { + return args; + } + + + public void setArgs(List args) { + this.args = args; + } + + + public V220DevfileComponentsItemsImageDockerfile buildContext(String buildContext) { + + this.buildContext = buildContext; + return this; + } + + /** + * Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container + * @return buildContext + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container") + + public String getBuildContext() { + return buildContext; + } + + + public void setBuildContext(String buildContext) { + this.buildContext = buildContext; + } + + + public V220DevfileComponentsItemsImageDockerfile devfileRegistry(V220DevfileComponentsItemsImageDockerfileDevfileRegistry devfileRegistry) { + + this.devfileRegistry = devfileRegistry; + return this; + } + + /** + * Get devfileRegistry + * @return devfileRegistry + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileComponentsItemsImageDockerfileDevfileRegistry getDevfileRegistry() { + return devfileRegistry; + } + + + public void setDevfileRegistry(V220DevfileComponentsItemsImageDockerfileDevfileRegistry devfileRegistry) { + this.devfileRegistry = devfileRegistry; + } + + + public V220DevfileComponentsItemsImageDockerfile git(V220DevfileComponentsItemsImageDockerfileGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileComponentsItemsImageDockerfileGit getGit() { + return git; + } + + + public void setGit(V220DevfileComponentsItemsImageDockerfileGit git) { + this.git = git; + } + + + public V220DevfileComponentsItemsImageDockerfile rootRequired(Boolean rootRequired) { + + this.rootRequired = rootRequired; + return this; + } + + /** + * Specify if a privileged builder pod is required. Default value is `false` + * @return rootRequired + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify if a privileged builder pod is required. Default value is `false`") + + public Boolean getRootRequired() { + return rootRequired; + } + + + public void setRootRequired(Boolean rootRequired) { + this.rootRequired = rootRequired; + } + + + public V220DevfileComponentsItemsImageDockerfile uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileComponentsItemsImageDockerfile v220DevfileComponentsItemsImageDockerfile = (V220DevfileComponentsItemsImageDockerfile) o; + return Objects.equals(this.args, v220DevfileComponentsItemsImageDockerfile.args) && + Objects.equals(this.buildContext, v220DevfileComponentsItemsImageDockerfile.buildContext) && + Objects.equals(this.devfileRegistry, v220DevfileComponentsItemsImageDockerfile.devfileRegistry) && + Objects.equals(this.git, v220DevfileComponentsItemsImageDockerfile.git) && + Objects.equals(this.rootRequired, v220DevfileComponentsItemsImageDockerfile.rootRequired) && + Objects.equals(this.uri, v220DevfileComponentsItemsImageDockerfile.uri); + } + + @Override + public int hashCode() { + return Objects.hash(args, buildContext, devfileRegistry, git, rootRequired, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileComponentsItemsImageDockerfile {\n"); + sb.append(" args: ").append(toIndentedString(args)).append("\n"); + sb.append(" buildContext: ").append(toIndentedString(buildContext)).append("\n"); + sb.append(" devfileRegistry: ").append(toIndentedString(devfileRegistry)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" rootRequired: ").append(toIndentedString(rootRequired)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsImageDockerfileDevfileRegistry.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsImageDockerfileDevfileRegistry.java new file mode 100644 index 0000000..e425068 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsImageDockerfileDevfileRegistry.java @@ -0,0 +1,128 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Dockerfile's Devfile Registry source + */ +@ApiModel(description = "Dockerfile's Devfile Registry source") + +public class V220DevfileComponentsItemsImageDockerfileDevfileRegistry { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_REGISTRY_URL = "registryUrl"; + @SerializedName(SERIALIZED_NAME_REGISTRY_URL) + private String registryUrl; + + + public V220DevfileComponentsItemsImageDockerfileDevfileRegistry id(String id) { + + this.id = id; + return this; + } + + /** + * Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image. + * @return id + **/ + @ApiModelProperty(required = true, value = "Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public V220DevfileComponentsItemsImageDockerfileDevfileRegistry registryUrl(String registryUrl) { + + this.registryUrl = registryUrl; + return this; + } + + /** + * Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used. + * @return registryUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used.") + + public String getRegistryUrl() { + return registryUrl; + } + + + public void setRegistryUrl(String registryUrl) { + this.registryUrl = registryUrl; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileComponentsItemsImageDockerfileDevfileRegistry v220DevfileComponentsItemsImageDockerfileDevfileRegistry = (V220DevfileComponentsItemsImageDockerfileDevfileRegistry) o; + return Objects.equals(this.id, v220DevfileComponentsItemsImageDockerfileDevfileRegistry.id) && + Objects.equals(this.registryUrl, v220DevfileComponentsItemsImageDockerfileDevfileRegistry.registryUrl); + } + + @Override + public int hashCode() { + return Objects.hash(id, registryUrl); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileComponentsItemsImageDockerfileDevfileRegistry {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" registryUrl: ").append(toIndentedString(registryUrl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsImageDockerfileGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsImageDockerfileGit.java new file mode 100644 index 0000000..1793faa --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsImageDockerfileGit.java @@ -0,0 +1,166 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Dockerfile's Git source + */ +@ApiModel(description = "Dockerfile's Git source") + +public class V220DevfileComponentsItemsImageDockerfileGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_FILE_LOCATION = "fileLocation"; + @SerializedName(SERIALIZED_NAME_FILE_LOCATION) + private String fileLocation; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = new HashMap<>(); + + + public V220DevfileComponentsItemsImageDockerfileGit checkoutFrom(V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V220DevfileComponentsItemsImageDockerfileGit fileLocation(String fileLocation) { + + this.fileLocation = fileLocation; + return this; + } + + /** + * Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile. + * @return fileLocation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile.") + + public String getFileLocation() { + return fileLocation; + } + + + public void setFileLocation(String fileLocation) { + this.fileLocation = fileLocation; + } + + + public V220DevfileComponentsItemsImageDockerfileGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V220DevfileComponentsItemsImageDockerfileGit putRemotesItem(String key, String remotesItem) { + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @ApiModelProperty(required = true, value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileComponentsItemsImageDockerfileGit v220DevfileComponentsItemsImageDockerfileGit = (V220DevfileComponentsItemsImageDockerfileGit) o; + return Objects.equals(this.checkoutFrom, v220DevfileComponentsItemsImageDockerfileGit.checkoutFrom) && + Objects.equals(this.fileLocation, v220DevfileComponentsItemsImageDockerfileGit.fileLocation) && + Objects.equals(this.remotes, v220DevfileComponentsItemsImageDockerfileGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, fileLocation, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileComponentsItemsImageDockerfileGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" fileLocation: ").append(toIndentedString(fileLocation)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom.java new file mode 100644 index 0000000..c721e99 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom v220DevfileComponentsItemsImageDockerfileGitCheckoutFrom = (V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom) o; + return Objects.equals(this.remote, v220DevfileComponentsItemsImageDockerfileGitCheckoutFrom.remote) && + Objects.equals(this.revision, v220DevfileComponentsItemsImageDockerfileGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileComponentsItemsImageDockerfileGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsKubernetes.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsKubernetes.java new file mode 100644 index 0000000..87258c7 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsKubernetes.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileComponentsItemsKubernetesEndpoints; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production. + */ +@ApiModel(description = "Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production.") + +public class V220DevfileComponentsItemsKubernetes { + public static final String SERIALIZED_NAME_DEPLOY_BY_DEFAULT = "deployByDefault"; + @SerializedName(SERIALIZED_NAME_DEPLOY_BY_DEFAULT) + private Boolean deployByDefault; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_INLINED = "inlined"; + @SerializedName(SERIALIZED_NAME_INLINED) + private String inlined; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V220DevfileComponentsItemsKubernetes deployByDefault(Boolean deployByDefault) { + + this.deployByDefault = deployByDefault; + return this; + } + + /** + * Defines if the component should be deployed during startup. Default value is `false` + * @return deployByDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the component should be deployed during startup. Default value is `false`") + + public Boolean getDeployByDefault() { + return deployByDefault; + } + + + public void setDeployByDefault(Boolean deployByDefault) { + this.deployByDefault = deployByDefault; + } + + + public V220DevfileComponentsItemsKubernetes endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V220DevfileComponentsItemsKubernetes addEndpointsItem(V220DevfileComponentsItemsKubernetesEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V220DevfileComponentsItemsKubernetes inlined(String inlined) { + + this.inlined = inlined; + return this; + } + + /** + * Inlined manifest + * @return inlined + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Inlined manifest") + + public String getInlined() { + return inlined; + } + + + public void setInlined(String inlined) { + this.inlined = inlined; + } + + + public V220DevfileComponentsItemsKubernetes uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * Location in a file fetched from a uri. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location in a file fetched from a uri.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileComponentsItemsKubernetes v220DevfileComponentsItemsKubernetes = (V220DevfileComponentsItemsKubernetes) o; + return Objects.equals(this.deployByDefault, v220DevfileComponentsItemsKubernetes.deployByDefault) && + Objects.equals(this.endpoints, v220DevfileComponentsItemsKubernetes.endpoints) && + Objects.equals(this.inlined, v220DevfileComponentsItemsKubernetes.inlined) && + Objects.equals(this.uri, v220DevfileComponentsItemsKubernetes.uri); + } + + @Override + public int hashCode() { + return Objects.hash(deployByDefault, endpoints, inlined, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileComponentsItemsKubernetes {\n"); + sb.append(" deployByDefault: ").append(toIndentedString(deployByDefault)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" inlined: ").append(toIndentedString(inlined)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsKubernetesEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsKubernetesEndpoints.java new file mode 100644 index 0000000..9664c84 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsKubernetesEndpoints.java @@ -0,0 +1,415 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V220DevfileComponentsItemsKubernetesEndpoints + */ + +public class V220DevfileComponentsItemsKubernetesEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure = ExposureEnum.PUBLIC; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol = ProtocolEnum.HTTP; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V220DevfileComponentsItemsKubernetesEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V220DevfileComponentsItemsKubernetesEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V220DevfileComponentsItemsKubernetesEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V220DevfileComponentsItemsKubernetesEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V220DevfileComponentsItemsKubernetesEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V220DevfileComponentsItemsKubernetesEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V220DevfileComponentsItemsKubernetesEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V220DevfileComponentsItemsKubernetesEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V220DevfileComponentsItemsKubernetesEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @ApiModelProperty(required = true, value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileComponentsItemsKubernetesEndpoints v220DevfileComponentsItemsKubernetesEndpoints = (V220DevfileComponentsItemsKubernetesEndpoints) o; + return Objects.equals(this.annotation, v220DevfileComponentsItemsKubernetesEndpoints.annotation) && + Objects.equals(this.attributes, v220DevfileComponentsItemsKubernetesEndpoints.attributes) && + Objects.equals(this.exposure, v220DevfileComponentsItemsKubernetesEndpoints.exposure) && + Objects.equals(this.name, v220DevfileComponentsItemsKubernetesEndpoints.name) && + Objects.equals(this.path, v220DevfileComponentsItemsKubernetesEndpoints.path) && + Objects.equals(this.protocol, v220DevfileComponentsItemsKubernetesEndpoints.protocol) && + Objects.equals(this.secure, v220DevfileComponentsItemsKubernetesEndpoints.secure) && + Objects.equals(this.targetPort, v220DevfileComponentsItemsKubernetesEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileComponentsItemsKubernetesEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsOpenshift.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsOpenshift.java new file mode 100644 index 0000000..49eb270 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsOpenshift.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileComponentsItemsOpenshiftEndpoints; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production. + */ +@ApiModel(description = "Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production.") + +public class V220DevfileComponentsItemsOpenshift { + public static final String SERIALIZED_NAME_DEPLOY_BY_DEFAULT = "deployByDefault"; + @SerializedName(SERIALIZED_NAME_DEPLOY_BY_DEFAULT) + private Boolean deployByDefault; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_INLINED = "inlined"; + @SerializedName(SERIALIZED_NAME_INLINED) + private String inlined; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V220DevfileComponentsItemsOpenshift deployByDefault(Boolean deployByDefault) { + + this.deployByDefault = deployByDefault; + return this; + } + + /** + * Defines if the component should be deployed during startup. Default value is `false` + * @return deployByDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the component should be deployed during startup. Default value is `false`") + + public Boolean getDeployByDefault() { + return deployByDefault; + } + + + public void setDeployByDefault(Boolean deployByDefault) { + this.deployByDefault = deployByDefault; + } + + + public V220DevfileComponentsItemsOpenshift endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V220DevfileComponentsItemsOpenshift addEndpointsItem(V220DevfileComponentsItemsOpenshiftEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V220DevfileComponentsItemsOpenshift inlined(String inlined) { + + this.inlined = inlined; + return this; + } + + /** + * Inlined manifest + * @return inlined + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Inlined manifest") + + public String getInlined() { + return inlined; + } + + + public void setInlined(String inlined) { + this.inlined = inlined; + } + + + public V220DevfileComponentsItemsOpenshift uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * Location in a file fetched from a uri. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location in a file fetched from a uri.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileComponentsItemsOpenshift v220DevfileComponentsItemsOpenshift = (V220DevfileComponentsItemsOpenshift) o; + return Objects.equals(this.deployByDefault, v220DevfileComponentsItemsOpenshift.deployByDefault) && + Objects.equals(this.endpoints, v220DevfileComponentsItemsOpenshift.endpoints) && + Objects.equals(this.inlined, v220DevfileComponentsItemsOpenshift.inlined) && + Objects.equals(this.uri, v220DevfileComponentsItemsOpenshift.uri); + } + + @Override + public int hashCode() { + return Objects.hash(deployByDefault, endpoints, inlined, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileComponentsItemsOpenshift {\n"); + sb.append(" deployByDefault: ").append(toIndentedString(deployByDefault)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" inlined: ").append(toIndentedString(inlined)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsOpenshiftEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsOpenshiftEndpoints.java new file mode 100644 index 0000000..e8dd6ee --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsOpenshiftEndpoints.java @@ -0,0 +1,415 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V220DevfileComponentsItemsOpenshiftEndpoints + */ + +public class V220DevfileComponentsItemsOpenshiftEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure = ExposureEnum.PUBLIC; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol = ProtocolEnum.HTTP; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V220DevfileComponentsItemsOpenshiftEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V220DevfileComponentsItemsOpenshiftEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V220DevfileComponentsItemsOpenshiftEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V220DevfileComponentsItemsOpenshiftEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V220DevfileComponentsItemsOpenshiftEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V220DevfileComponentsItemsOpenshiftEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V220DevfileComponentsItemsOpenshiftEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V220DevfileComponentsItemsOpenshiftEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V220DevfileComponentsItemsOpenshiftEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @ApiModelProperty(required = true, value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileComponentsItemsOpenshiftEndpoints v220DevfileComponentsItemsOpenshiftEndpoints = (V220DevfileComponentsItemsOpenshiftEndpoints) o; + return Objects.equals(this.annotation, v220DevfileComponentsItemsOpenshiftEndpoints.annotation) && + Objects.equals(this.attributes, v220DevfileComponentsItemsOpenshiftEndpoints.attributes) && + Objects.equals(this.exposure, v220DevfileComponentsItemsOpenshiftEndpoints.exposure) && + Objects.equals(this.name, v220DevfileComponentsItemsOpenshiftEndpoints.name) && + Objects.equals(this.path, v220DevfileComponentsItemsOpenshiftEndpoints.path) && + Objects.equals(this.protocol, v220DevfileComponentsItemsOpenshiftEndpoints.protocol) && + Objects.equals(this.secure, v220DevfileComponentsItemsOpenshiftEndpoints.secure) && + Objects.equals(this.targetPort, v220DevfileComponentsItemsOpenshiftEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileComponentsItemsOpenshiftEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsVolume.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsVolume.java new file mode 100644 index 0000000..cb05e60 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileComponentsItemsVolume.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the definition of a volume shared by several other components + */ +@ApiModel(description = "Allows specifying the definition of a volume shared by several other components") + +public class V220DevfileComponentsItemsVolume { + public static final String SERIALIZED_NAME_EPHEMERAL = "ephemeral"; + @SerializedName(SERIALIZED_NAME_EPHEMERAL) + private Boolean ephemeral; + + public static final String SERIALIZED_NAME_SIZE = "size"; + @SerializedName(SERIALIZED_NAME_SIZE) + private String size; + + + public V220DevfileComponentsItemsVolume ephemeral(Boolean ephemeral) { + + this.ephemeral = ephemeral; + return this; + } + + /** + * Ephemeral volumes are not stored persistently across restarts. Defaults to false + * @return ephemeral + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Ephemeral volumes are not stored persistently across restarts. Defaults to false") + + public Boolean getEphemeral() { + return ephemeral; + } + + + public void setEphemeral(Boolean ephemeral) { + this.ephemeral = ephemeral; + } + + + public V220DevfileComponentsItemsVolume size(String size) { + + this.size = size; + return this; + } + + /** + * Size of the volume + * @return size + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Size of the volume") + + public String getSize() { + return size; + } + + + public void setSize(String size) { + this.size = size; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileComponentsItemsVolume v220DevfileComponentsItemsVolume = (V220DevfileComponentsItemsVolume) o; + return Objects.equals(this.ephemeral, v220DevfileComponentsItemsVolume.ephemeral) && + Objects.equals(this.size, v220DevfileComponentsItemsVolume.size); + } + + @Override + public int hashCode() { + return Objects.hash(ephemeral, size); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileComponentsItemsVolume {\n"); + sb.append(" ephemeral: ").append(toIndentedString(ephemeral)).append("\n"); + sb.append(" size: ").append(toIndentedString(size)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileEvents.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileEvents.java new file mode 100644 index 0000000..ec67864 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileEvents.java @@ -0,0 +1,221 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Bindings of commands to events. Each command is referred-to by its name. + */ +@ApiModel(description = "Bindings of commands to events. Each command is referred-to by its name.") + +public class V220DevfileEvents { + public static final String SERIALIZED_NAME_POST_START = "postStart"; + @SerializedName(SERIALIZED_NAME_POST_START) + private List postStart = null; + + public static final String SERIALIZED_NAME_POST_STOP = "postStop"; + @SerializedName(SERIALIZED_NAME_POST_STOP) + private List postStop = null; + + public static final String SERIALIZED_NAME_PRE_START = "preStart"; + @SerializedName(SERIALIZED_NAME_PRE_START) + private List preStart = null; + + public static final String SERIALIZED_NAME_PRE_STOP = "preStop"; + @SerializedName(SERIALIZED_NAME_PRE_STOP) + private List preStop = null; + + + public V220DevfileEvents postStart(List postStart) { + + this.postStart = postStart; + return this; + } + + public V220DevfileEvents addPostStartItem(String postStartItem) { + if (this.postStart == null) { + this.postStart = new ArrayList<>(); + } + this.postStart.add(postStartItem); + return this; + } + + /** + * IDs of commands that should be executed after the devworkspace is completely started. In the case of Che-Theia, these commands should be executed after all plugins and extensions have started, including project cloning. This means that those commands are not triggered until the user opens the IDE in his browser. + * @return postStart + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "IDs of commands that should be executed after the devworkspace is completely started. In the case of Che-Theia, these commands should be executed after all plugins and extensions have started, including project cloning. This means that those commands are not triggered until the user opens the IDE in his browser.") + + public List getPostStart() { + return postStart; + } + + + public void setPostStart(List postStart) { + this.postStart = postStart; + } + + + public V220DevfileEvents postStop(List postStop) { + + this.postStop = postStop; + return this; + } + + public V220DevfileEvents addPostStopItem(String postStopItem) { + if (this.postStop == null) { + this.postStop = new ArrayList<>(); + } + this.postStop.add(postStopItem); + return this; + } + + /** + * IDs of commands that should be executed after stopping the devworkspace. + * @return postStop + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "IDs of commands that should be executed after stopping the devworkspace.") + + public List getPostStop() { + return postStop; + } + + + public void setPostStop(List postStop) { + this.postStop = postStop; + } + + + public V220DevfileEvents preStart(List preStart) { + + this.preStart = preStart; + return this; + } + + public V220DevfileEvents addPreStartItem(String preStartItem) { + if (this.preStart == null) { + this.preStart = new ArrayList<>(); + } + this.preStart.add(preStartItem); + return this; + } + + /** + * IDs of commands that should be executed before the devworkspace start. Kubernetes-wise, these commands would typically be executed in init containers of the devworkspace POD. + * @return preStart + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "IDs of commands that should be executed before the devworkspace start. Kubernetes-wise, these commands would typically be executed in init containers of the devworkspace POD.") + + public List getPreStart() { + return preStart; + } + + + public void setPreStart(List preStart) { + this.preStart = preStart; + } + + + public V220DevfileEvents preStop(List preStop) { + + this.preStop = preStop; + return this; + } + + public V220DevfileEvents addPreStopItem(String preStopItem) { + if (this.preStop == null) { + this.preStop = new ArrayList<>(); + } + this.preStop.add(preStopItem); + return this; + } + + /** + * IDs of commands that should be executed before stopping the devworkspace. + * @return preStop + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "IDs of commands that should be executed before stopping the devworkspace.") + + public List getPreStop() { + return preStop; + } + + + public void setPreStop(List preStop) { + this.preStop = preStop; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileEvents v220DevfileEvents = (V220DevfileEvents) o; + return Objects.equals(this.postStart, v220DevfileEvents.postStart) && + Objects.equals(this.postStop, v220DevfileEvents.postStop) && + Objects.equals(this.preStart, v220DevfileEvents.preStart) && + Objects.equals(this.preStop, v220DevfileEvents.preStop); + } + + @Override + public int hashCode() { + return Objects.hash(postStart, postStop, preStart, preStop); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileEvents {\n"); + sb.append(" postStart: ").append(toIndentedString(postStart)).append("\n"); + sb.append(" postStop: ").append(toIndentedString(postStop)).append("\n"); + sb.append(" preStart: ").append(toIndentedString(preStart)).append("\n"); + sb.append(" preStop: ").append(toIndentedString(preStop)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileMetadata.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileMetadata.java new file mode 100644 index 0000000..7134a29 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileMetadata.java @@ -0,0 +1,546 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Optional metadata + */ +@ApiModel(description = "Optional metadata") + +public class V220DevfileMetadata { + /** + * Architecture describes the architecture type + */ + @JsonAdapter(ArchitecturesEnum.Adapter.class) + public enum ArchitecturesEnum { + AMD64("amd64"), + + ARM64("arm64"), + + PPC64LE("ppc64le"), + + S390X("s390x"); + + private String value; + + ArchitecturesEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ArchitecturesEnum fromValue(String value) { + for (ArchitecturesEnum b : ArchitecturesEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ArchitecturesEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ArchitecturesEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ArchitecturesEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_ARCHITECTURES = "architectures"; + @SerializedName(SERIALIZED_NAME_ARCHITECTURES) + private List architectures = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_DISPLAY_NAME = "displayName"; + @SerializedName(SERIALIZED_NAME_DISPLAY_NAME) + private String displayName; + + public static final String SERIALIZED_NAME_GLOBAL_MEMORY_LIMIT = "globalMemoryLimit"; + @SerializedName(SERIALIZED_NAME_GLOBAL_MEMORY_LIMIT) + private String globalMemoryLimit; + + public static final String SERIALIZED_NAME_ICON = "icon"; + @SerializedName(SERIALIZED_NAME_ICON) + private String icon; + + public static final String SERIALIZED_NAME_LANGUAGE = "language"; + @SerializedName(SERIALIZED_NAME_LANGUAGE) + private String language; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PROJECT_TYPE = "projectType"; + @SerializedName(SERIALIZED_NAME_PROJECT_TYPE) + private String projectType; + + public static final String SERIALIZED_NAME_PROVIDER = "provider"; + @SerializedName(SERIALIZED_NAME_PROVIDER) + private String provider; + + public static final String SERIALIZED_NAME_SUPPORT_URL = "supportUrl"; + @SerializedName(SERIALIZED_NAME_SUPPORT_URL) + private String supportUrl; + + public static final String SERIALIZED_NAME_TAGS = "tags"; + @SerializedName(SERIALIZED_NAME_TAGS) + private List tags = null; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private String version; + + public static final String SERIALIZED_NAME_WEBSITE = "website"; + @SerializedName(SERIALIZED_NAME_WEBSITE) + private String website; + + + public V220DevfileMetadata architectures(List architectures) { + + this.architectures = architectures; + return this; + } + + public V220DevfileMetadata addArchitecturesItem(ArchitecturesEnum architecturesItem) { + if (this.architectures == null) { + this.architectures = new ArrayList<>(); + } + this.architectures.add(architecturesItem); + return this; + } + + /** + * Optional list of processor architectures that the devfile supports, empty list suggests that the devfile can be used on any architecture + * @return architectures + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional list of processor architectures that the devfile supports, empty list suggests that the devfile can be used on any architecture") + + public List getArchitectures() { + return architectures; + } + + + public void setArchitectures(List architectures) { + this.architectures = architectures; + } + + + public V220DevfileMetadata attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. Deprecated, use the top-level attributes field instead. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes. Deprecated, use the top-level attributes field instead.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V220DevfileMetadata description(String description) { + + this.description = description; + return this; + } + + /** + * Optional devfile description + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional devfile description") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public V220DevfileMetadata displayName(String displayName) { + + this.displayName = displayName; + return this; + } + + /** + * Optional devfile display name + * @return displayName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional devfile display name") + + public String getDisplayName() { + return displayName; + } + + + public void setDisplayName(String displayName) { + this.displayName = displayName; + } + + + public V220DevfileMetadata globalMemoryLimit(String globalMemoryLimit) { + + this.globalMemoryLimit = globalMemoryLimit; + return this; + } + + /** + * Optional devfile global memory limit + * @return globalMemoryLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional devfile global memory limit") + + public String getGlobalMemoryLimit() { + return globalMemoryLimit; + } + + + public void setGlobalMemoryLimit(String globalMemoryLimit) { + this.globalMemoryLimit = globalMemoryLimit; + } + + + public V220DevfileMetadata icon(String icon) { + + this.icon = icon; + return this; + } + + /** + * Optional devfile icon, can be a URI or a relative path in the project + * @return icon + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional devfile icon, can be a URI or a relative path in the project") + + public String getIcon() { + return icon; + } + + + public void setIcon(String icon) { + this.icon = icon; + } + + + public V220DevfileMetadata language(String language) { + + this.language = language; + return this; + } + + /** + * Optional devfile language + * @return language + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional devfile language") + + public String getLanguage() { + return language; + } + + + public void setLanguage(String language) { + this.language = language; + } + + + public V220DevfileMetadata name(String name) { + + this.name = name; + return this; + } + + /** + * Optional devfile name + * @return name + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional devfile name") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V220DevfileMetadata projectType(String projectType) { + + this.projectType = projectType; + return this; + } + + /** + * Optional devfile project type + * @return projectType + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional devfile project type") + + public String getProjectType() { + return projectType; + } + + + public void setProjectType(String projectType) { + this.projectType = projectType; + } + + + public V220DevfileMetadata provider(String provider) { + + this.provider = provider; + return this; + } + + /** + * Optional devfile provider information + * @return provider + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional devfile provider information") + + public String getProvider() { + return provider; + } + + + public void setProvider(String provider) { + this.provider = provider; + } + + + public V220DevfileMetadata supportUrl(String supportUrl) { + + this.supportUrl = supportUrl; + return this; + } + + /** + * Optional link to a page that provides support information + * @return supportUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional link to a page that provides support information") + + public String getSupportUrl() { + return supportUrl; + } + + + public void setSupportUrl(String supportUrl) { + this.supportUrl = supportUrl; + } + + + public V220DevfileMetadata tags(List tags) { + + this.tags = tags; + return this; + } + + public V220DevfileMetadata addTagsItem(String tagsItem) { + if (this.tags == null) { + this.tags = new ArrayList<>(); + } + this.tags.add(tagsItem); + return this; + } + + /** + * Optional devfile tags + * @return tags + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional devfile tags") + + public List getTags() { + return tags; + } + + + public void setTags(List tags) { + this.tags = tags; + } + + + public V220DevfileMetadata version(String version) { + + this.version = version; + return this; + } + + /** + * Optional semver-compatible version + * @return version + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional semver-compatible version") + + public String getVersion() { + return version; + } + + + public void setVersion(String version) { + this.version = version; + } + + + public V220DevfileMetadata website(String website) { + + this.website = website; + return this; + } + + /** + * Optional devfile website + * @return website + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional devfile website") + + public String getWebsite() { + return website; + } + + + public void setWebsite(String website) { + this.website = website; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileMetadata v220DevfileMetadata = (V220DevfileMetadata) o; + return Objects.equals(this.architectures, v220DevfileMetadata.architectures) && + Objects.equals(this.attributes, v220DevfileMetadata.attributes) && + Objects.equals(this.description, v220DevfileMetadata.description) && + Objects.equals(this.displayName, v220DevfileMetadata.displayName) && + Objects.equals(this.globalMemoryLimit, v220DevfileMetadata.globalMemoryLimit) && + Objects.equals(this.icon, v220DevfileMetadata.icon) && + Objects.equals(this.language, v220DevfileMetadata.language) && + Objects.equals(this.name, v220DevfileMetadata.name) && + Objects.equals(this.projectType, v220DevfileMetadata.projectType) && + Objects.equals(this.provider, v220DevfileMetadata.provider) && + Objects.equals(this.supportUrl, v220DevfileMetadata.supportUrl) && + Objects.equals(this.tags, v220DevfileMetadata.tags) && + Objects.equals(this.version, v220DevfileMetadata.version) && + Objects.equals(this.website, v220DevfileMetadata.website); + } + + @Override + public int hashCode() { + return Objects.hash(architectures, attributes, description, displayName, globalMemoryLimit, icon, language, name, projectType, provider, supportUrl, tags, version, website); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileMetadata {\n"); + sb.append(" architectures: ").append(toIndentedString(architectures)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" displayName: ").append(toIndentedString(displayName)).append("\n"); + sb.append(" globalMemoryLimit: ").append(toIndentedString(globalMemoryLimit)).append("\n"); + sb.append(" icon: ").append(toIndentedString(icon)).append("\n"); + sb.append(" language: ").append(toIndentedString(language)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" projectType: ").append(toIndentedString(projectType)).append("\n"); + sb.append(" provider: ").append(toIndentedString(provider)).append("\n"); + sb.append(" supportUrl: ").append(toIndentedString(supportUrl)).append("\n"); + sb.append(" tags: ").append(toIndentedString(tags)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" website: ").append(toIndentedString(website)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParent.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParent.java new file mode 100644 index 0000000..61107b2 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParent.java @@ -0,0 +1,439 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentCommands; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentComponents; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentKubernetes; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentProjects; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentStarterProjects; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Parent devworkspace template + */ +@ApiModel(description = "Parent devworkspace template") + +public class V220DevfileParent { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_COMMANDS = "commands"; + @SerializedName(SERIALIZED_NAME_COMMANDS) + private List commands = null; + + public static final String SERIALIZED_NAME_COMPONENTS = "components"; + @SerializedName(SERIALIZED_NAME_COMPONENTS) + private List components = null; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_KUBERNETES = "kubernetes"; + @SerializedName(SERIALIZED_NAME_KUBERNETES) + private V220DevfileParentKubernetes kubernetes; + + public static final String SERIALIZED_NAME_PROJECTS = "projects"; + @SerializedName(SERIALIZED_NAME_PROJECTS) + private List projects = null; + + public static final String SERIALIZED_NAME_REGISTRY_URL = "registryUrl"; + @SerializedName(SERIALIZED_NAME_REGISTRY_URL) + private String registryUrl; + + public static final String SERIALIZED_NAME_STARTER_PROJECTS = "starterProjects"; + @SerializedName(SERIALIZED_NAME_STARTER_PROJECTS) + private List starterProjects = null; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + public static final String SERIALIZED_NAME_VARIABLES = "variables"; + @SerializedName(SERIALIZED_NAME_VARIABLES) + private Map variables = null; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + private String version; + + + public V220DevfileParent attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Overrides of attributes encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of attributes encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V220DevfileParent commands(List commands) { + + this.commands = commands; + return this; + } + + public V220DevfileParent addCommandsItem(V220DevfileParentCommands commandsItem) { + if (this.commands == null) { + this.commands = new ArrayList<>(); + } + this.commands.add(commandsItem); + return this; + } + + /** + * Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. + * @return commands + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of commands encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules.") + + public List getCommands() { + return commands; + } + + + public void setCommands(List commands) { + this.commands = commands; + } + + + public V220DevfileParent components(List components) { + + this.components = components; + return this; + } + + public V220DevfileParent addComponentsItem(V220DevfileParentComponents componentsItem) { + if (this.components == null) { + this.components = new ArrayList<>(); + } + this.components.add(componentsItem); + return this; + } + + /** + * Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules. + * @return components + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of components encapsulated in a parent devfile or a plugin. Overriding is done according to K8S strategic merge patch standard rules.") + + public List getComponents() { + return components; + } + + + public void setComponents(List components) { + this.components = components; + } + + + public V220DevfileParent id(String id) { + + this.id = id; + return this; + } + + /** + * Id in a registry that contains a Devfile yaml file + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Id in a registry that contains a Devfile yaml file") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public V220DevfileParent kubernetes(V220DevfileParentKubernetes kubernetes) { + + this.kubernetes = kubernetes; + return this; + } + + /** + * Get kubernetes + * @return kubernetes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentKubernetes getKubernetes() { + return kubernetes; + } + + + public void setKubernetes(V220DevfileParentKubernetes kubernetes) { + this.kubernetes = kubernetes; + } + + + public V220DevfileParent projects(List projects) { + + this.projects = projects; + return this; + } + + public V220DevfileParent addProjectsItem(V220DevfileParentProjects projectsItem) { + if (this.projects == null) { + this.projects = new ArrayList<>(); + } + this.projects.add(projectsItem); + return this; + } + + /** + * Overrides of projects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. + * @return projects + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of projects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules.") + + public List getProjects() { + return projects; + } + + + public void setProjects(List projects) { + this.projects = projects; + } + + + public V220DevfileParent registryUrl(String registryUrl) { + + this.registryUrl = registryUrl; + return this; + } + + /** + * Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used. + * @return registryUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Registry URL to pull the parent devfile from when using id in the parent reference. To ensure the parent devfile gets resolved consistently in different environments, it is recommended to always specify the `registryUrl` when `id` is used.") + + public String getRegistryUrl() { + return registryUrl; + } + + + public void setRegistryUrl(String registryUrl) { + this.registryUrl = registryUrl; + } + + + public V220DevfileParent starterProjects(List starterProjects) { + + this.starterProjects = starterProjects; + return this; + } + + public V220DevfileParent addStarterProjectsItem(V220DevfileParentStarterProjects starterProjectsItem) { + if (this.starterProjects == null) { + this.starterProjects = new ArrayList<>(); + } + this.starterProjects.add(starterProjectsItem); + return this; + } + + /** + * Overrides of starterProjects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. + * @return starterProjects + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of starterProjects encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules.") + + public List getStarterProjects() { + return starterProjects; + } + + + public void setStarterProjects(List starterProjects) { + this.starterProjects = starterProjects; + } + + + public V220DevfileParent uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URI Reference of a parent devfile YAML file. It can be a full URL or a relative URI with the current devfile as the base URI.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + public V220DevfileParent variables(Map variables) { + + this.variables = variables; + return this; + } + + public V220DevfileParent putVariablesItem(String key, String variablesItem) { + if (this.variables == null) { + this.variables = new HashMap<>(); + } + this.variables.put(key, variablesItem); + return this; + } + + /** + * Overrides of variables encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules. + * @return variables + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Overrides of variables encapsulated in a parent devfile. Overriding is done according to K8S strategic merge patch standard rules.") + + public Map getVariables() { + return variables; + } + + + public void setVariables(Map variables) { + this.variables = variables; + } + + + public V220DevfileParent version(String version) { + + this.version = version; + return this; + } + + /** + * Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used. + * @return version + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify `version`, `id` must be defined and used as the import reference source. `version` can be either a specific stack version, or `latest`. If no `version` specified, default version will be used.") + + public String getVersion() { + return version; + } + + + public void setVersion(String version) { + this.version = version; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParent v220DevfileParent = (V220DevfileParent) o; + return Objects.equals(this.attributes, v220DevfileParent.attributes) && + Objects.equals(this.commands, v220DevfileParent.commands) && + Objects.equals(this.components, v220DevfileParent.components) && + Objects.equals(this.id, v220DevfileParent.id) && + Objects.equals(this.kubernetes, v220DevfileParent.kubernetes) && + Objects.equals(this.projects, v220DevfileParent.projects) && + Objects.equals(this.registryUrl, v220DevfileParent.registryUrl) && + Objects.equals(this.starterProjects, v220DevfileParent.starterProjects) && + Objects.equals(this.uri, v220DevfileParent.uri) && + Objects.equals(this.variables, v220DevfileParent.variables) && + Objects.equals(this.version, v220DevfileParent.version); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, commands, components, id, kubernetes, projects, registryUrl, starterProjects, uri, variables, version); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParent {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" commands: ").append(toIndentedString(commands)).append("\n"); + sb.append(" components: ").append(toIndentedString(components)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" kubernetes: ").append(toIndentedString(kubernetes)).append("\n"); + sb.append(" projects: ").append(toIndentedString(projects)).append("\n"); + sb.append(" registryUrl: ").append(toIndentedString(registryUrl)).append("\n"); + sb.append(" starterProjects: ").append(toIndentedString(starterProjects)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append(" variables: ").append(toIndentedString(variables)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommands.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommands.java new file mode 100644 index 0000000..0f4bec5 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommands.java @@ -0,0 +1,217 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentCommandsItemsApply; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentCommandsItemsComposite; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentCommandsItemsExec; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V220DevfileParentCommands + */ + +public class V220DevfileParentCommands { + public static final String SERIALIZED_NAME_APPLY = "apply"; + @SerializedName(SERIALIZED_NAME_APPLY) + private V220DevfileParentCommandsItemsApply apply; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_COMPOSITE = "composite"; + @SerializedName(SERIALIZED_NAME_COMPOSITE) + private V220DevfileParentCommandsItemsComposite composite; + + public static final String SERIALIZED_NAME_EXEC = "exec"; + @SerializedName(SERIALIZED_NAME_EXEC) + private V220DevfileParentCommandsItemsExec exec; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + + public V220DevfileParentCommands apply(V220DevfileParentCommandsItemsApply apply) { + + this.apply = apply; + return this; + } + + /** + * Get apply + * @return apply + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentCommandsItemsApply getApply() { + return apply; + } + + + public void setApply(V220DevfileParentCommandsItemsApply apply) { + this.apply = apply; + } + + + public V220DevfileParentCommands attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V220DevfileParentCommands composite(V220DevfileParentCommandsItemsComposite composite) { + + this.composite = composite; + return this; + } + + /** + * Get composite + * @return composite + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentCommandsItemsComposite getComposite() { + return composite; + } + + + public void setComposite(V220DevfileParentCommandsItemsComposite composite) { + this.composite = composite; + } + + + public V220DevfileParentCommands exec(V220DevfileParentCommandsItemsExec exec) { + + this.exec = exec; + return this; + } + + /** + * Get exec + * @return exec + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentCommandsItemsExec getExec() { + return exec; + } + + + public void setExec(V220DevfileParentCommandsItemsExec exec) { + this.exec = exec; + } + + + public V220DevfileParentCommands id(String id) { + + this.id = id; + return this; + } + + /** + * Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events. + * @return id + **/ + @ApiModelProperty(required = true, value = "Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentCommands v220DevfileParentCommands = (V220DevfileParentCommands) o; + return Objects.equals(this.apply, v220DevfileParentCommands.apply) && + Objects.equals(this.attributes, v220DevfileParentCommands.attributes) && + Objects.equals(this.composite, v220DevfileParentCommands.composite) && + Objects.equals(this.exec, v220DevfileParentCommands.exec) && + Objects.equals(this.id, v220DevfileParentCommands.id); + } + + @Override + public int hashCode() { + return Objects.hash(apply, attributes, composite, exec, id); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentCommands {\n"); + sb.append(" apply: ").append(toIndentedString(apply)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" composite: ").append(toIndentedString(composite)).append("\n"); + sb.append(" exec: ").append(toIndentedString(exec)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsApply.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsApply.java new file mode 100644 index 0000000..bf1af15 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsApply.java @@ -0,0 +1,159 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentCommandsItemsApplyGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false. + */ +@ApiModel(description = "Command that consists in applying a given component definition, typically bound to a devworkspace event. For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`. When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default, unless `deployByDefault` for that component is set to false.") + +public class V220DevfileParentCommandsItemsApply { + public static final String SERIALIZED_NAME_COMPONENT = "component"; + @SerializedName(SERIALIZED_NAME_COMPONENT) + private String component; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V220DevfileParentCommandsItemsApplyGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + + public V220DevfileParentCommandsItemsApply component(String component) { + + this.component = component; + return this; + } + + /** + * Describes component that will be applied + * @return component + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes component that will be applied") + + public String getComponent() { + return component; + } + + + public void setComponent(String component) { + this.component = component; + } + + + public V220DevfileParentCommandsItemsApply group(V220DevfileParentCommandsItemsApplyGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentCommandsItemsApplyGroup getGroup() { + return group; + } + + + public void setGroup(V220DevfileParentCommandsItemsApplyGroup group) { + this.group = group; + } + + + public V220DevfileParentCommandsItemsApply label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentCommandsItemsApply v220DevfileParentCommandsItemsApply = (V220DevfileParentCommandsItemsApply) o; + return Objects.equals(this.component, v220DevfileParentCommandsItemsApply.component) && + Objects.equals(this.group, v220DevfileParentCommandsItemsApply.group) && + Objects.equals(this.label, v220DevfileParentCommandsItemsApply.label); + } + + @Override + public int hashCode() { + return Objects.hash(component, group, label); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentCommandsItemsApply {\n"); + sb.append(" component: ").append(toIndentedString(component)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsApplyGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsApplyGroup.java new file mode 100644 index 0000000..19da346 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsApplyGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V220DevfileParentCommandsItemsApplyGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V220DevfileParentCommandsItemsApplyGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V220DevfileParentCommandsItemsApplyGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentCommandsItemsApplyGroup v220DevfileParentCommandsItemsApplyGroup = (V220DevfileParentCommandsItemsApplyGroup) o; + return Objects.equals(this.isDefault, v220DevfileParentCommandsItemsApplyGroup.isDefault) && + Objects.equals(this.kind, v220DevfileParentCommandsItemsApplyGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentCommandsItemsApplyGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsComposite.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsComposite.java new file mode 100644 index 0000000..a430ba7 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsComposite.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentCommandsItemsCompositeGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Composite command that allows executing several sub-commands either sequentially or concurrently + */ +@ApiModel(description = "Composite command that allows executing several sub-commands either sequentially or concurrently") + +public class V220DevfileParentCommandsItemsComposite { + public static final String SERIALIZED_NAME_COMMANDS = "commands"; + @SerializedName(SERIALIZED_NAME_COMMANDS) + private List commands = null; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V220DevfileParentCommandsItemsCompositeGroup group; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + public static final String SERIALIZED_NAME_PARALLEL = "parallel"; + @SerializedName(SERIALIZED_NAME_PARALLEL) + private Boolean parallel; + + + public V220DevfileParentCommandsItemsComposite commands(List commands) { + + this.commands = commands; + return this; + } + + public V220DevfileParentCommandsItemsComposite addCommandsItem(String commandsItem) { + if (this.commands == null) { + this.commands = new ArrayList<>(); + } + this.commands.add(commandsItem); + return this; + } + + /** + * The commands that comprise this composite command + * @return commands + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The commands that comprise this composite command") + + public List getCommands() { + return commands; + } + + + public void setCommands(List commands) { + this.commands = commands; + } + + + public V220DevfileParentCommandsItemsComposite group(V220DevfileParentCommandsItemsCompositeGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentCommandsItemsCompositeGroup getGroup() { + return group; + } + + + public void setGroup(V220DevfileParentCommandsItemsCompositeGroup group) { + this.group = group; + } + + + public V220DevfileParentCommandsItemsComposite label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + public V220DevfileParentCommandsItemsComposite parallel(Boolean parallel) { + + this.parallel = parallel; + return this; + } + + /** + * Indicates if the sub-commands should be executed concurrently + * @return parallel + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Indicates if the sub-commands should be executed concurrently") + + public Boolean getParallel() { + return parallel; + } + + + public void setParallel(Boolean parallel) { + this.parallel = parallel; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentCommandsItemsComposite v220DevfileParentCommandsItemsComposite = (V220DevfileParentCommandsItemsComposite) o; + return Objects.equals(this.commands, v220DevfileParentCommandsItemsComposite.commands) && + Objects.equals(this.group, v220DevfileParentCommandsItemsComposite.group) && + Objects.equals(this.label, v220DevfileParentCommandsItemsComposite.label) && + Objects.equals(this.parallel, v220DevfileParentCommandsItemsComposite.parallel); + } + + @Override + public int hashCode() { + return Objects.hash(commands, group, label, parallel); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentCommandsItemsComposite {\n"); + sb.append(" commands: ").append(toIndentedString(commands)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" parallel: ").append(toIndentedString(parallel)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsCompositeGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsCompositeGroup.java new file mode 100644 index 0000000..57594b7 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsCompositeGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V220DevfileParentCommandsItemsCompositeGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V220DevfileParentCommandsItemsCompositeGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V220DevfileParentCommandsItemsCompositeGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentCommandsItemsCompositeGroup v220DevfileParentCommandsItemsCompositeGroup = (V220DevfileParentCommandsItemsCompositeGroup) o; + return Objects.equals(this.isDefault, v220DevfileParentCommandsItemsCompositeGroup.isDefault) && + Objects.equals(this.kind, v220DevfileParentCommandsItemsCompositeGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentCommandsItemsCompositeGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsExec.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsExec.java new file mode 100644 index 0000000..e7e93e7 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsExec.java @@ -0,0 +1,286 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentCommandsItemsExecEnv; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentCommandsItemsExecGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * CLI Command executed in an existing component container + */ +@ApiModel(description = "CLI Command executed in an existing component container") + +public class V220DevfileParentCommandsItemsExec { + public static final String SERIALIZED_NAME_COMMAND_LINE = "commandLine"; + @SerializedName(SERIALIZED_NAME_COMMAND_LINE) + private String commandLine; + + public static final String SERIALIZED_NAME_COMPONENT = "component"; + @SerializedName(SERIALIZED_NAME_COMPONENT) + private String component; + + public static final String SERIALIZED_NAME_ENV = "env"; + @SerializedName(SERIALIZED_NAME_ENV) + private List env = null; + + public static final String SERIALIZED_NAME_GROUP = "group"; + @SerializedName(SERIALIZED_NAME_GROUP) + private V220DevfileParentCommandsItemsExecGroup group; + + public static final String SERIALIZED_NAME_HOT_RELOAD_CAPABLE = "hotReloadCapable"; + @SerializedName(SERIALIZED_NAME_HOT_RELOAD_CAPABLE) + private Boolean hotReloadCapable; + + public static final String SERIALIZED_NAME_LABEL = "label"; + @SerializedName(SERIALIZED_NAME_LABEL) + private String label; + + public static final String SERIALIZED_NAME_WORKING_DIR = "workingDir"; + @SerializedName(SERIALIZED_NAME_WORKING_DIR) + private String workingDir; + + + public V220DevfileParentCommandsItemsExec commandLine(String commandLine) { + + this.commandLine = commandLine; + return this; + } + + /** + * The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. + * @return commandLine + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The actual command-line string Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one.") + + public String getCommandLine() { + return commandLine; + } + + + public void setCommandLine(String commandLine) { + this.commandLine = commandLine; + } + + + public V220DevfileParentCommandsItemsExec component(String component) { + + this.component = component; + return this; + } + + /** + * Describes component to which given action relates + * @return component + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes component to which given action relates") + + public String getComponent() { + return component; + } + + + public void setComponent(String component) { + this.component = component; + } + + + public V220DevfileParentCommandsItemsExec env(List env) { + + this.env = env; + return this; + } + + public V220DevfileParentCommandsItemsExec addEnvItem(V220DevfileParentCommandsItemsExecEnv envItem) { + if (this.env == null) { + this.env = new ArrayList<>(); + } + this.env.add(envItem); + return this; + } + + /** + * Optional list of environment variables that have to be set before running the command + * @return env + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional list of environment variables that have to be set before running the command") + + public List getEnv() { + return env; + } + + + public void setEnv(List env) { + this.env = env; + } + + + public V220DevfileParentCommandsItemsExec group(V220DevfileParentCommandsItemsExecGroup group) { + + this.group = group; + return this; + } + + /** + * Get group + * @return group + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentCommandsItemsExecGroup getGroup() { + return group; + } + + + public void setGroup(V220DevfileParentCommandsItemsExecGroup group) { + this.group = group; + } + + + public V220DevfileParentCommandsItemsExec hotReloadCapable(Boolean hotReloadCapable) { + + this.hotReloadCapable = hotReloadCapable; + return this; + } + + /** + * Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false` + * @return hotReloadCapable + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Whether the command is capable to reload itself when source code changes. If set to `true` the command won't be restarted and it is expected to handle file changes on its own. Default value is `false`") + + public Boolean getHotReloadCapable() { + return hotReloadCapable; + } + + + public void setHotReloadCapable(Boolean hotReloadCapable) { + this.hotReloadCapable = hotReloadCapable; + } + + + public V220DevfileParentCommandsItemsExec label(String label) { + + this.label = label; + return this; + } + + /** + * Optional label that provides a label for this command to be used in Editor UI menus for example + * @return label + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional label that provides a label for this command to be used in Editor UI menus for example") + + public String getLabel() { + return label; + } + + + public void setLabel(String label) { + this.label = label; + } + + + public V220DevfileParentCommandsItemsExec workingDir(String workingDir) { + + this.workingDir = workingDir; + return this; + } + + /** + * Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/<project-name>). If there are multiple projects, this will point to the directory of the first one. + * @return workingDir + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Working directory where the command should be executed Special variables that can be used: - `$PROJECTS_ROOT`: A path where projects sources are mounted as defined by container component's sourceMapping. - `$PROJECT_SOURCE`: A path to a project source ($PROJECTS_ROOT/). If there are multiple projects, this will point to the directory of the first one.") + + public String getWorkingDir() { + return workingDir; + } + + + public void setWorkingDir(String workingDir) { + this.workingDir = workingDir; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentCommandsItemsExec v220DevfileParentCommandsItemsExec = (V220DevfileParentCommandsItemsExec) o; + return Objects.equals(this.commandLine, v220DevfileParentCommandsItemsExec.commandLine) && + Objects.equals(this.component, v220DevfileParentCommandsItemsExec.component) && + Objects.equals(this.env, v220DevfileParentCommandsItemsExec.env) && + Objects.equals(this.group, v220DevfileParentCommandsItemsExec.group) && + Objects.equals(this.hotReloadCapable, v220DevfileParentCommandsItemsExec.hotReloadCapable) && + Objects.equals(this.label, v220DevfileParentCommandsItemsExec.label) && + Objects.equals(this.workingDir, v220DevfileParentCommandsItemsExec.workingDir); + } + + @Override + public int hashCode() { + return Objects.hash(commandLine, component, env, group, hotReloadCapable, label, workingDir); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentCommandsItemsExec {\n"); + sb.append(" commandLine: ").append(toIndentedString(commandLine)).append("\n"); + sb.append(" component: ").append(toIndentedString(component)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" hotReloadCapable: ").append(toIndentedString(hotReloadCapable)).append("\n"); + sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" workingDir: ").append(toIndentedString(workingDir)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsExecEnv.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsExecEnv.java new file mode 100644 index 0000000..640b283 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsExecEnv.java @@ -0,0 +1,127 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V220DevfileParentCommandsItemsExecEnv + */ + +public class V220DevfileParentCommandsItemsExecEnv { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public V220DevfileParentCommandsItemsExecEnv name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V220DevfileParentCommandsItemsExecEnv value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentCommandsItemsExecEnv v220DevfileParentCommandsItemsExecEnv = (V220DevfileParentCommandsItemsExecEnv) o; + return Objects.equals(this.name, v220DevfileParentCommandsItemsExecEnv.name) && + Objects.equals(this.value, v220DevfileParentCommandsItemsExecEnv.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentCommandsItemsExecEnv {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsExecGroup.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsExecGroup.java new file mode 100644 index 0000000..0aa676e --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentCommandsItemsExecGroup.java @@ -0,0 +1,182 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines the group this command is part of + */ +@ApiModel(description = "Defines the group this command is part of") + +public class V220DevfileParentCommandsItemsExecGroup { + public static final String SERIALIZED_NAME_IS_DEFAULT = "isDefault"; + @SerializedName(SERIALIZED_NAME_IS_DEFAULT) + private Boolean isDefault; + + /** + * Kind of group the command is part of + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + BUILD("build"), + + RUN("run"), + + TEST("test"), + + DEBUG("debug"), + + DEPLOY("deploy"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + private KindEnum kind; + + + public V220DevfileParentCommandsItemsExecGroup isDefault(Boolean isDefault) { + + this.isDefault = isDefault; + return this; + } + + /** + * Identifies the default command for a given group kind + * @return isDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Identifies the default command for a given group kind") + + public Boolean getIsDefault() { + return isDefault; + } + + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + + + public V220DevfileParentCommandsItemsExecGroup kind(KindEnum kind) { + + this.kind = kind; + return this; + } + + /** + * Kind of group the command is part of + * @return kind + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Kind of group the command is part of") + + public KindEnum getKind() { + return kind; + } + + + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentCommandsItemsExecGroup v220DevfileParentCommandsItemsExecGroup = (V220DevfileParentCommandsItemsExecGroup) o; + return Objects.equals(this.isDefault, v220DevfileParentCommandsItemsExecGroup.isDefault) && + Objects.equals(this.kind, v220DevfileParentCommandsItemsExecGroup.kind); + } + + @Override + public int hashCode() { + return Objects.hash(isDefault, kind); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentCommandsItemsExecGroup {\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponents.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponents.java new file mode 100644 index 0000000..ad720f3 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponents.java @@ -0,0 +1,277 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentComponentsItemsContainer; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentComponentsItemsImage; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentComponentsItemsKubernetes; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentComponentsItemsOpenshift; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentComponentsItemsVolume; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V220DevfileParentComponents + */ + +public class V220DevfileParentComponents { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_CONTAINER = "container"; + @SerializedName(SERIALIZED_NAME_CONTAINER) + private V220DevfileParentComponentsItemsContainer container; + + public static final String SERIALIZED_NAME_IMAGE = "image"; + @SerializedName(SERIALIZED_NAME_IMAGE) + private V220DevfileParentComponentsItemsImage image; + + public static final String SERIALIZED_NAME_KUBERNETES = "kubernetes"; + @SerializedName(SERIALIZED_NAME_KUBERNETES) + private V220DevfileParentComponentsItemsKubernetes kubernetes; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_OPENSHIFT = "openshift"; + @SerializedName(SERIALIZED_NAME_OPENSHIFT) + private V220DevfileParentComponentsItemsOpenshift openshift; + + public static final String SERIALIZED_NAME_VOLUME = "volume"; + @SerializedName(SERIALIZED_NAME_VOLUME) + private V220DevfileParentComponentsItemsVolume volume; + + + public V220DevfileParentComponents attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V220DevfileParentComponents container(V220DevfileParentComponentsItemsContainer container) { + + this.container = container; + return this; + } + + /** + * Get container + * @return container + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentComponentsItemsContainer getContainer() { + return container; + } + + + public void setContainer(V220DevfileParentComponentsItemsContainer container) { + this.container = container; + } + + + public V220DevfileParentComponents image(V220DevfileParentComponentsItemsImage image) { + + this.image = image; + return this; + } + + /** + * Get image + * @return image + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentComponentsItemsImage getImage() { + return image; + } + + + public void setImage(V220DevfileParentComponentsItemsImage image) { + this.image = image; + } + + + public V220DevfileParentComponents kubernetes(V220DevfileParentComponentsItemsKubernetes kubernetes) { + + this.kubernetes = kubernetes; + return this; + } + + /** + * Get kubernetes + * @return kubernetes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentComponentsItemsKubernetes getKubernetes() { + return kubernetes; + } + + + public void setKubernetes(V220DevfileParentComponentsItemsKubernetes kubernetes) { + this.kubernetes = kubernetes; + } + + + public V220DevfileParentComponents name(String name) { + + this.name = name; + return this; + } + + /** + * Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin. + * @return name + **/ + @ApiModelProperty(required = true, value = "Mandatory name that allows referencing the component from other elements (such as commands) or from an external devfile that may reference this component through a parent or a plugin.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V220DevfileParentComponents openshift(V220DevfileParentComponentsItemsOpenshift openshift) { + + this.openshift = openshift; + return this; + } + + /** + * Get openshift + * @return openshift + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentComponentsItemsOpenshift getOpenshift() { + return openshift; + } + + + public void setOpenshift(V220DevfileParentComponentsItemsOpenshift openshift) { + this.openshift = openshift; + } + + + public V220DevfileParentComponents volume(V220DevfileParentComponentsItemsVolume volume) { + + this.volume = volume; + return this; + } + + /** + * Get volume + * @return volume + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentComponentsItemsVolume getVolume() { + return volume; + } + + + public void setVolume(V220DevfileParentComponentsItemsVolume volume) { + this.volume = volume; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentComponents v220DevfileParentComponents = (V220DevfileParentComponents) o; + return Objects.equals(this.attributes, v220DevfileParentComponents.attributes) && + Objects.equals(this.container, v220DevfileParentComponents.container) && + Objects.equals(this.image, v220DevfileParentComponents.image) && + Objects.equals(this.kubernetes, v220DevfileParentComponents.kubernetes) && + Objects.equals(this.name, v220DevfileParentComponents.name) && + Objects.equals(this.openshift, v220DevfileParentComponents.openshift) && + Objects.equals(this.volume, v220DevfileParentComponents.volume); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, container, image, kubernetes, name, openshift, volume); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentComponents {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" container: ").append(toIndentedString(container)).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" kubernetes: ").append(toIndentedString(kubernetes)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" openshift: ").append(toIndentedString(openshift)).append("\n"); + sb.append(" volume: ").append(toIndentedString(volume)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsContainer.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsContainer.java new file mode 100644 index 0000000..b8cb7c8 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsContainer.java @@ -0,0 +1,523 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentComponentsItemsContainerAnnotation; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentComponentsItemsContainerEndpoints; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentComponentsItemsContainerEnv; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentComponentsItemsContainerVolumeMounts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows adding and configuring devworkspace-related containers + */ +@ApiModel(description = "Allows adding and configuring devworkspace-related containers") + +public class V220DevfileParentComponentsItemsContainer { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private V220DevfileParentComponentsItemsContainerAnnotation annotation; + + public static final String SERIALIZED_NAME_ARGS = "args"; + @SerializedName(SERIALIZED_NAME_ARGS) + private List args = null; + + public static final String SERIALIZED_NAME_COMMAND = "command"; + @SerializedName(SERIALIZED_NAME_COMMAND) + private List command = null; + + public static final String SERIALIZED_NAME_CPU_LIMIT = "cpuLimit"; + @SerializedName(SERIALIZED_NAME_CPU_LIMIT) + private String cpuLimit; + + public static final String SERIALIZED_NAME_CPU_REQUEST = "cpuRequest"; + @SerializedName(SERIALIZED_NAME_CPU_REQUEST) + private String cpuRequest; + + public static final String SERIALIZED_NAME_DEDICATED_POD = "dedicatedPod"; + @SerializedName(SERIALIZED_NAME_DEDICATED_POD) + private Boolean dedicatedPod; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_ENV = "env"; + @SerializedName(SERIALIZED_NAME_ENV) + private List env = null; + + public static final String SERIALIZED_NAME_IMAGE = "image"; + @SerializedName(SERIALIZED_NAME_IMAGE) + private String image; + + public static final String SERIALIZED_NAME_MEMORY_LIMIT = "memoryLimit"; + @SerializedName(SERIALIZED_NAME_MEMORY_LIMIT) + private String memoryLimit; + + public static final String SERIALIZED_NAME_MEMORY_REQUEST = "memoryRequest"; + @SerializedName(SERIALIZED_NAME_MEMORY_REQUEST) + private String memoryRequest; + + public static final String SERIALIZED_NAME_MOUNT_SOURCES = "mountSources"; + @SerializedName(SERIALIZED_NAME_MOUNT_SOURCES) + private Boolean mountSources; + + public static final String SERIALIZED_NAME_SOURCE_MAPPING = "sourceMapping"; + @SerializedName(SERIALIZED_NAME_SOURCE_MAPPING) + private String sourceMapping; + + public static final String SERIALIZED_NAME_VOLUME_MOUNTS = "volumeMounts"; + @SerializedName(SERIALIZED_NAME_VOLUME_MOUNTS) + private List volumeMounts = null; + + + public V220DevfileParentComponentsItemsContainer annotation(V220DevfileParentComponentsItemsContainerAnnotation annotation) { + + this.annotation = annotation; + return this; + } + + /** + * Get annotation + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentComponentsItemsContainerAnnotation getAnnotation() { + return annotation; + } + + + public void setAnnotation(V220DevfileParentComponentsItemsContainerAnnotation annotation) { + this.annotation = annotation; + } + + + public V220DevfileParentComponentsItemsContainer args(List args) { + + this.args = args; + return this; + } + + public V220DevfileParentComponentsItemsContainer addArgsItem(String argsItem) { + if (this.args == null) { + this.args = new ArrayList<>(); + } + this.args.add(argsItem); + return this; + } + + /** + * The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image. + * @return args + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The arguments to supply to the command running the dockerimage component. The arguments are supplied either to the default command provided in the image or to the overridden command. Defaults to an empty array, meaning use whatever is defined in the image.") + + public List getArgs() { + return args; + } + + + public void setArgs(List args) { + this.args = args; + } + + + public V220DevfileParentComponentsItemsContainer command(List command) { + + this.command = command; + return this; + } + + public V220DevfileParentComponentsItemsContainer addCommandItem(String commandItem) { + if (this.command == null) { + this.command = new ArrayList<>(); + } + this.command.add(commandItem); + return this; + } + + /** + * The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image. + * @return command + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The command to run in the dockerimage component instead of the default one provided in the image. Defaults to an empty array, meaning use whatever is defined in the image.") + + public List getCommand() { + return command; + } + + + public void setCommand(List command) { + this.command = command; + } + + + public V220DevfileParentComponentsItemsContainer cpuLimit(String cpuLimit) { + + this.cpuLimit = cpuLimit; + return this; + } + + /** + * Get cpuLimit + * @return cpuLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCpuLimit() { + return cpuLimit; + } + + + public void setCpuLimit(String cpuLimit) { + this.cpuLimit = cpuLimit; + } + + + public V220DevfileParentComponentsItemsContainer cpuRequest(String cpuRequest) { + + this.cpuRequest = cpuRequest; + return this; + } + + /** + * Get cpuRequest + * @return cpuRequest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getCpuRequest() { + return cpuRequest; + } + + + public void setCpuRequest(String cpuRequest) { + this.cpuRequest = cpuRequest; + } + + + public V220DevfileParentComponentsItemsContainer dedicatedPod(Boolean dedicatedPod) { + + this.dedicatedPod = dedicatedPod; + return this; + } + + /** + * Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false` + * @return dedicatedPod + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify if a container should run in its own separated pod, instead of running as part of the main development environment pod. Default value is `false`") + + public Boolean getDedicatedPod() { + return dedicatedPod; + } + + + public void setDedicatedPod(Boolean dedicatedPod) { + this.dedicatedPod = dedicatedPod; + } + + + public V220DevfileParentComponentsItemsContainer endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V220DevfileParentComponentsItemsContainer addEndpointsItem(V220DevfileParentComponentsItemsContainerEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V220DevfileParentComponentsItemsContainer env(List env) { + + this.env = env; + return this; + } + + public V220DevfileParentComponentsItemsContainer addEnvItem(V220DevfileParentComponentsItemsContainerEnv envItem) { + if (this.env == null) { + this.env = new ArrayList<>(); + } + this.env.add(envItem); + return this; + } + + /** + * Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE` + * @return env + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Environment variables used in this container. The following variables are reserved and cannot be overridden via env: - `$PROJECTS_ROOT` - `$PROJECT_SOURCE`") + + public List getEnv() { + return env; + } + + + public void setEnv(List env) { + this.env = env; + } + + + public V220DevfileParentComponentsItemsContainer image(String image) { + + this.image = image; + return this; + } + + /** + * Get image + * @return image + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getImage() { + return image; + } + + + public void setImage(String image) { + this.image = image; + } + + + public V220DevfileParentComponentsItemsContainer memoryLimit(String memoryLimit) { + + this.memoryLimit = memoryLimit; + return this; + } + + /** + * Get memoryLimit + * @return memoryLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMemoryLimit() { + return memoryLimit; + } + + + public void setMemoryLimit(String memoryLimit) { + this.memoryLimit = memoryLimit; + } + + + public V220DevfileParentComponentsItemsContainer memoryRequest(String memoryRequest) { + + this.memoryRequest = memoryRequest; + return this; + } + + /** + * Get memoryRequest + * @return memoryRequest + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getMemoryRequest() { + return memoryRequest; + } + + + public void setMemoryRequest(String memoryRequest) { + this.memoryRequest = memoryRequest; + } + + + public V220DevfileParentComponentsItemsContainer mountSources(Boolean mountSources) { + + this.mountSources = mountSources; + return this; + } + + /** + * Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true. + * @return mountSources + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Toggles whether or not the project source code should be mounted in the component. Defaults to true for all component types except plugins and components that set `dedicatedPod` to true.") + + public Boolean getMountSources() { + return mountSources; + } + + + public void setMountSources(Boolean mountSources) { + this.mountSources = mountSources; + } + + + public V220DevfileParentComponentsItemsContainer sourceMapping(String sourceMapping) { + + this.sourceMapping = sourceMapping; + return this; + } + + /** + * Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used. + * @return sourceMapping + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Optional specification of the path in the container where project sources should be transferred/mounted when `mountSources` is `true`. When omitted, the default value of /projects is used.") + + public String getSourceMapping() { + return sourceMapping; + } + + + public void setSourceMapping(String sourceMapping) { + this.sourceMapping = sourceMapping; + } + + + public V220DevfileParentComponentsItemsContainer volumeMounts(List volumeMounts) { + + this.volumeMounts = volumeMounts; + return this; + } + + public V220DevfileParentComponentsItemsContainer addVolumeMountsItem(V220DevfileParentComponentsItemsContainerVolumeMounts volumeMountsItem) { + if (this.volumeMounts == null) { + this.volumeMounts = new ArrayList<>(); + } + this.volumeMounts.add(volumeMountsItem); + return this; + } + + /** + * List of volumes mounts that should be mounted is this container. + * @return volumeMounts + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "List of volumes mounts that should be mounted is this container.") + + public List getVolumeMounts() { + return volumeMounts; + } + + + public void setVolumeMounts(List volumeMounts) { + this.volumeMounts = volumeMounts; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentComponentsItemsContainer v220DevfileParentComponentsItemsContainer = (V220DevfileParentComponentsItemsContainer) o; + return Objects.equals(this.annotation, v220DevfileParentComponentsItemsContainer.annotation) && + Objects.equals(this.args, v220DevfileParentComponentsItemsContainer.args) && + Objects.equals(this.command, v220DevfileParentComponentsItemsContainer.command) && + Objects.equals(this.cpuLimit, v220DevfileParentComponentsItemsContainer.cpuLimit) && + Objects.equals(this.cpuRequest, v220DevfileParentComponentsItemsContainer.cpuRequest) && + Objects.equals(this.dedicatedPod, v220DevfileParentComponentsItemsContainer.dedicatedPod) && + Objects.equals(this.endpoints, v220DevfileParentComponentsItemsContainer.endpoints) && + Objects.equals(this.env, v220DevfileParentComponentsItemsContainer.env) && + Objects.equals(this.image, v220DevfileParentComponentsItemsContainer.image) && + Objects.equals(this.memoryLimit, v220DevfileParentComponentsItemsContainer.memoryLimit) && + Objects.equals(this.memoryRequest, v220DevfileParentComponentsItemsContainer.memoryRequest) && + Objects.equals(this.mountSources, v220DevfileParentComponentsItemsContainer.mountSources) && + Objects.equals(this.sourceMapping, v220DevfileParentComponentsItemsContainer.sourceMapping) && + Objects.equals(this.volumeMounts, v220DevfileParentComponentsItemsContainer.volumeMounts); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, args, command, cpuLimit, cpuRequest, dedicatedPod, endpoints, env, image, memoryLimit, memoryRequest, mountSources, sourceMapping, volumeMounts); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentComponentsItemsContainer {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" args: ").append(toIndentedString(args)).append("\n"); + sb.append(" command: ").append(toIndentedString(command)).append("\n"); + sb.append(" cpuLimit: ").append(toIndentedString(cpuLimit)).append("\n"); + sb.append(" cpuRequest: ").append(toIndentedString(cpuRequest)).append("\n"); + sb.append(" dedicatedPod: ").append(toIndentedString(dedicatedPod)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" memoryLimit: ").append(toIndentedString(memoryLimit)).append("\n"); + sb.append(" memoryRequest: ").append(toIndentedString(memoryRequest)).append("\n"); + sb.append(" mountSources: ").append(toIndentedString(mountSources)).append("\n"); + sb.append(" sourceMapping: ").append(toIndentedString(sourceMapping)).append("\n"); + sb.append(" volumeMounts: ").append(toIndentedString(volumeMounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsContainerAnnotation.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsContainerAnnotation.java new file mode 100644 index 0000000..2135d6f --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsContainerAnnotation.java @@ -0,0 +1,148 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Annotations that should be added to specific resources for this container + */ +@ApiModel(description = "Annotations that should be added to specific resources for this container") + +public class V220DevfileParentComponentsItemsContainerAnnotation { + public static final String SERIALIZED_NAME_DEPLOYMENT = "deployment"; + @SerializedName(SERIALIZED_NAME_DEPLOYMENT) + private Map deployment = null; + + public static final String SERIALIZED_NAME_SERVICE = "service"; + @SerializedName(SERIALIZED_NAME_SERVICE) + private Map service = null; + + + public V220DevfileParentComponentsItemsContainerAnnotation deployment(Map deployment) { + + this.deployment = deployment; + return this; + } + + public V220DevfileParentComponentsItemsContainerAnnotation putDeploymentItem(String key, String deploymentItem) { + if (this.deployment == null) { + this.deployment = new HashMap<>(); + } + this.deployment.put(key, deploymentItem); + return this; + } + + /** + * Annotations to be added to deployment + * @return deployment + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to deployment") + + public Map getDeployment() { + return deployment; + } + + + public void setDeployment(Map deployment) { + this.deployment = deployment; + } + + + public V220DevfileParentComponentsItemsContainerAnnotation service(Map service) { + + this.service = service; + return this; + } + + public V220DevfileParentComponentsItemsContainerAnnotation putServiceItem(String key, String serviceItem) { + if (this.service == null) { + this.service = new HashMap<>(); + } + this.service.put(key, serviceItem); + return this; + } + + /** + * Annotations to be added to service + * @return service + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to service") + + public Map getService() { + return service; + } + + + public void setService(Map service) { + this.service = service; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentComponentsItemsContainerAnnotation v220DevfileParentComponentsItemsContainerAnnotation = (V220DevfileParentComponentsItemsContainerAnnotation) o; + return Objects.equals(this.deployment, v220DevfileParentComponentsItemsContainerAnnotation.deployment) && + Objects.equals(this.service, v220DevfileParentComponentsItemsContainerAnnotation.service); + } + + @Override + public int hashCode() { + return Objects.hash(deployment, service); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentComponentsItemsContainerAnnotation {\n"); + sb.append(" deployment: ").append(toIndentedString(deployment)).append("\n"); + sb.append(" service: ").append(toIndentedString(service)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsContainerEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsContainerEndpoints.java new file mode 100644 index 0000000..5889aaf --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsContainerEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V220DevfileParentComponentsItemsContainerEndpoints + */ + +public class V220DevfileParentComponentsItemsContainerEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V220DevfileParentComponentsItemsContainerEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V220DevfileParentComponentsItemsContainerEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V220DevfileParentComponentsItemsContainerEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V220DevfileParentComponentsItemsContainerEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V220DevfileParentComponentsItemsContainerEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V220DevfileParentComponentsItemsContainerEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V220DevfileParentComponentsItemsContainerEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V220DevfileParentComponentsItemsContainerEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V220DevfileParentComponentsItemsContainerEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentComponentsItemsContainerEndpoints v220DevfileParentComponentsItemsContainerEndpoints = (V220DevfileParentComponentsItemsContainerEndpoints) o; + return Objects.equals(this.annotation, v220DevfileParentComponentsItemsContainerEndpoints.annotation) && + Objects.equals(this.attributes, v220DevfileParentComponentsItemsContainerEndpoints.attributes) && + Objects.equals(this.exposure, v220DevfileParentComponentsItemsContainerEndpoints.exposure) && + Objects.equals(this.name, v220DevfileParentComponentsItemsContainerEndpoints.name) && + Objects.equals(this.path, v220DevfileParentComponentsItemsContainerEndpoints.path) && + Objects.equals(this.protocol, v220DevfileParentComponentsItemsContainerEndpoints.protocol) && + Objects.equals(this.secure, v220DevfileParentComponentsItemsContainerEndpoints.secure) && + Objects.equals(this.targetPort, v220DevfileParentComponentsItemsContainerEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentComponentsItemsContainerEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsContainerEnv.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsContainerEnv.java new file mode 100644 index 0000000..ebaefd0 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsContainerEnv.java @@ -0,0 +1,127 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V220DevfileParentComponentsItemsContainerEnv + */ + +public class V220DevfileParentComponentsItemsContainerEnv { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + private String value; + + + public V220DevfileParentComponentsItemsContainerEnv name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V220DevfileParentComponentsItemsContainerEnv value(String value) { + + this.value = value; + return this; + } + + /** + * Get value + * @return value + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getValue() { + return value; + } + + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentComponentsItemsContainerEnv v220DevfileParentComponentsItemsContainerEnv = (V220DevfileParentComponentsItemsContainerEnv) o; + return Objects.equals(this.name, v220DevfileParentComponentsItemsContainerEnv.name) && + Objects.equals(this.value, v220DevfileParentComponentsItemsContainerEnv.value); + } + + @Override + public int hashCode() { + return Objects.hash(name, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentComponentsItemsContainerEnv {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsContainerVolumeMounts.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsContainerVolumeMounts.java new file mode 100644 index 0000000..b10eafd --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsContainerVolumeMounts.java @@ -0,0 +1,128 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Volume that should be mounted to a component container + */ +@ApiModel(description = "Volume that should be mounted to a component container") + +public class V220DevfileParentComponentsItemsContainerVolumeMounts { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + + public V220DevfileParentComponentsItemsContainerVolumeMounts name(String name) { + + this.name = name; + return this; + } + + /** + * The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files. + * @return name + **/ + @ApiModelProperty(required = true, value = "The volume mount name is the name of an existing `Volume` component. If several containers mount the same volume name then they will reuse the same volume and will be able to access to the same files.") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V220DevfileParentComponentsItemsContainerVolumeMounts path(String path) { + + this.path = path; + return this; + } + + /** + * The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/<name>`. + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The path in the component container where the volume should be mounted. If not path is mentioned, default path is the is `/`.") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentComponentsItemsContainerVolumeMounts v220DevfileParentComponentsItemsContainerVolumeMounts = (V220DevfileParentComponentsItemsContainerVolumeMounts) o; + return Objects.equals(this.name, v220DevfileParentComponentsItemsContainerVolumeMounts.name) && + Objects.equals(this.path, v220DevfileParentComponentsItemsContainerVolumeMounts.path); + } + + @Override + public int hashCode() { + return Objects.hash(name, path); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentComponentsItemsContainerVolumeMounts {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsImage.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsImage.java new file mode 100644 index 0000000..d7f9269 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsImage.java @@ -0,0 +1,159 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentComponentsItemsImageDockerfile; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the definition of an image for outer loop builds + */ +@ApiModel(description = "Allows specifying the definition of an image for outer loop builds") + +public class V220DevfileParentComponentsItemsImage { + public static final String SERIALIZED_NAME_AUTO_BUILD = "autoBuild"; + @SerializedName(SERIALIZED_NAME_AUTO_BUILD) + private Boolean autoBuild; + + public static final String SERIALIZED_NAME_DOCKERFILE = "dockerfile"; + @SerializedName(SERIALIZED_NAME_DOCKERFILE) + private V220DevfileParentComponentsItemsImageDockerfile dockerfile; + + public static final String SERIALIZED_NAME_IMAGE_NAME = "imageName"; + @SerializedName(SERIALIZED_NAME_IMAGE_NAME) + private String imageName; + + + public V220DevfileParentComponentsItemsImage autoBuild(Boolean autoBuild) { + + this.autoBuild = autoBuild; + return this; + } + + /** + * Defines if the image should be built during startup. Default value is `false` + * @return autoBuild + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the image should be built during startup. Default value is `false`") + + public Boolean getAutoBuild() { + return autoBuild; + } + + + public void setAutoBuild(Boolean autoBuild) { + this.autoBuild = autoBuild; + } + + + public V220DevfileParentComponentsItemsImage dockerfile(V220DevfileParentComponentsItemsImageDockerfile dockerfile) { + + this.dockerfile = dockerfile; + return this; + } + + /** + * Get dockerfile + * @return dockerfile + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentComponentsItemsImageDockerfile getDockerfile() { + return dockerfile; + } + + + public void setDockerfile(V220DevfileParentComponentsItemsImageDockerfile dockerfile) { + this.dockerfile = dockerfile; + } + + + public V220DevfileParentComponentsItemsImage imageName(String imageName) { + + this.imageName = imageName; + return this; + } + + /** + * Name of the image for the resulting outerloop build + * @return imageName + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Name of the image for the resulting outerloop build") + + public String getImageName() { + return imageName; + } + + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentComponentsItemsImage v220DevfileParentComponentsItemsImage = (V220DevfileParentComponentsItemsImage) o; + return Objects.equals(this.autoBuild, v220DevfileParentComponentsItemsImage.autoBuild) && + Objects.equals(this.dockerfile, v220DevfileParentComponentsItemsImage.dockerfile) && + Objects.equals(this.imageName, v220DevfileParentComponentsItemsImage.imageName); + } + + @Override + public int hashCode() { + return Objects.hash(autoBuild, dockerfile, imageName); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentComponentsItemsImage {\n"); + sb.append(" autoBuild: ").append(toIndentedString(autoBuild)).append("\n"); + sb.append(" dockerfile: ").append(toIndentedString(dockerfile)).append("\n"); + sb.append(" imageName: ").append(toIndentedString(imageName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsImageDockerfile.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsImageDockerfile.java new file mode 100644 index 0000000..d0bdc40 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsImageDockerfile.java @@ -0,0 +1,257 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentComponentsItemsImageDockerfileGit; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows specifying dockerfile type build + */ +@ApiModel(description = "Allows specifying dockerfile type build") + +public class V220DevfileParentComponentsItemsImageDockerfile { + public static final String SERIALIZED_NAME_ARGS = "args"; + @SerializedName(SERIALIZED_NAME_ARGS) + private List args = null; + + public static final String SERIALIZED_NAME_BUILD_CONTEXT = "buildContext"; + @SerializedName(SERIALIZED_NAME_BUILD_CONTEXT) + private String buildContext; + + public static final String SERIALIZED_NAME_DEVFILE_REGISTRY = "devfileRegistry"; + @SerializedName(SERIALIZED_NAME_DEVFILE_REGISTRY) + private V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry devfileRegistry; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V220DevfileParentComponentsItemsImageDockerfileGit git; + + public static final String SERIALIZED_NAME_ROOT_REQUIRED = "rootRequired"; + @SerializedName(SERIALIZED_NAME_ROOT_REQUIRED) + private Boolean rootRequired; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V220DevfileParentComponentsItemsImageDockerfile args(List args) { + + this.args = args; + return this; + } + + public V220DevfileParentComponentsItemsImageDockerfile addArgsItem(String argsItem) { + if (this.args == null) { + this.args = new ArrayList<>(); + } + this.args.add(argsItem); + return this; + } + + /** + * The arguments to supply to the dockerfile build. + * @return args + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The arguments to supply to the dockerfile build.") + + public List getArgs() { + return args; + } + + + public void setArgs(List args) { + this.args = args; + } + + + public V220DevfileParentComponentsItemsImageDockerfile buildContext(String buildContext) { + + this.buildContext = buildContext; + return this; + } + + /** + * Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container + * @return buildContext + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container") + + public String getBuildContext() { + return buildContext; + } + + + public void setBuildContext(String buildContext) { + this.buildContext = buildContext; + } + + + public V220DevfileParentComponentsItemsImageDockerfile devfileRegistry(V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry devfileRegistry) { + + this.devfileRegistry = devfileRegistry; + return this; + } + + /** + * Get devfileRegistry + * @return devfileRegistry + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry getDevfileRegistry() { + return devfileRegistry; + } + + + public void setDevfileRegistry(V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry devfileRegistry) { + this.devfileRegistry = devfileRegistry; + } + + + public V220DevfileParentComponentsItemsImageDockerfile git(V220DevfileParentComponentsItemsImageDockerfileGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentComponentsItemsImageDockerfileGit getGit() { + return git; + } + + + public void setGit(V220DevfileParentComponentsItemsImageDockerfileGit git) { + this.git = git; + } + + + public V220DevfileParentComponentsItemsImageDockerfile rootRequired(Boolean rootRequired) { + + this.rootRequired = rootRequired; + return this; + } + + /** + * Specify if a privileged builder pod is required. Default value is `false` + * @return rootRequired + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Specify if a privileged builder pod is required. Default value is `false`") + + public Boolean getRootRequired() { + return rootRequired; + } + + + public void setRootRequired(Boolean rootRequired) { + this.rootRequired = rootRequired; + } + + + public V220DevfileParentComponentsItemsImageDockerfile uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "URI Reference of a Dockerfile. It can be a full URL or a relative URI from the current devfile as the base URI.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentComponentsItemsImageDockerfile v220DevfileParentComponentsItemsImageDockerfile = (V220DevfileParentComponentsItemsImageDockerfile) o; + return Objects.equals(this.args, v220DevfileParentComponentsItemsImageDockerfile.args) && + Objects.equals(this.buildContext, v220DevfileParentComponentsItemsImageDockerfile.buildContext) && + Objects.equals(this.devfileRegistry, v220DevfileParentComponentsItemsImageDockerfile.devfileRegistry) && + Objects.equals(this.git, v220DevfileParentComponentsItemsImageDockerfile.git) && + Objects.equals(this.rootRequired, v220DevfileParentComponentsItemsImageDockerfile.rootRequired) && + Objects.equals(this.uri, v220DevfileParentComponentsItemsImageDockerfile.uri); + } + + @Override + public int hashCode() { + return Objects.hash(args, buildContext, devfileRegistry, git, rootRequired, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentComponentsItemsImageDockerfile {\n"); + sb.append(" args: ").append(toIndentedString(args)).append("\n"); + sb.append(" buildContext: ").append(toIndentedString(buildContext)).append("\n"); + sb.append(" devfileRegistry: ").append(toIndentedString(devfileRegistry)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" rootRequired: ").append(toIndentedString(rootRequired)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry.java new file mode 100644 index 0000000..3ec4f98 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Dockerfile's Devfile Registry source + */ +@ApiModel(description = "Dockerfile's Devfile Registry source") + +public class V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + private String id; + + public static final String SERIALIZED_NAME_REGISTRY_URL = "registryUrl"; + @SerializedName(SERIALIZED_NAME_REGISTRY_URL) + private String registryUrl; + + + public V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry id(String id) { + + this.id = id; + return this; + } + + /** + * Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image. + * @return id + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Id in a devfile registry that contains a Dockerfile. The src in the OCI registry required for the Dockerfile build will be downloaded for building the image.") + + public String getId() { + return id; + } + + + public void setId(String id) { + this.id = id; + } + + + public V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry registryUrl(String registryUrl) { + + this.registryUrl = registryUrl; + return this; + } + + /** + * Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used. + * @return registryUrl + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Devfile Registry URL to pull the Dockerfile from when using the Devfile Registry as Dockerfile src. To ensure the Dockerfile gets resolved consistently in different environments, it is recommended to always specify the `devfileRegistryUrl` when `Id` is used.") + + public String getRegistryUrl() { + return registryUrl; + } + + + public void setRegistryUrl(String registryUrl) { + this.registryUrl = registryUrl; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry v220DevfileParentComponentsItemsImageDockerfileDevfileRegistry = (V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry) o; + return Objects.equals(this.id, v220DevfileParentComponentsItemsImageDockerfileDevfileRegistry.id) && + Objects.equals(this.registryUrl, v220DevfileParentComponentsItemsImageDockerfileDevfileRegistry.registryUrl); + } + + @Override + public int hashCode() { + return Objects.hash(id, registryUrl); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentComponentsItemsImageDockerfileDevfileRegistry {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" registryUrl: ").append(toIndentedString(registryUrl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsImageDockerfileGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsImageDockerfileGit.java new file mode 100644 index 0000000..3d31966 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsImageDockerfileGit.java @@ -0,0 +1,170 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Dockerfile's Git source + */ +@ApiModel(description = "Dockerfile's Git source") + +public class V220DevfileParentComponentsItemsImageDockerfileGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_FILE_LOCATION = "fileLocation"; + @SerializedName(SERIALIZED_NAME_FILE_LOCATION) + private String fileLocation; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = null; + + + public V220DevfileParentComponentsItemsImageDockerfileGit checkoutFrom(V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V220DevfileParentComponentsItemsImageDockerfileGit fileLocation(String fileLocation) { + + this.fileLocation = fileLocation; + return this; + } + + /** + * Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile. + * @return fileLocation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location of the Dockerfile in the Git repository when using git as Dockerfile src. Defaults to Dockerfile.") + + public String getFileLocation() { + return fileLocation; + } + + + public void setFileLocation(String fileLocation) { + this.fileLocation = fileLocation; + } + + + public V220DevfileParentComponentsItemsImageDockerfileGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V220DevfileParentComponentsItemsImageDockerfileGit putRemotesItem(String key, String remotesItem) { + if (this.remotes == null) { + this.remotes = new HashMap<>(); + } + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentComponentsItemsImageDockerfileGit v220DevfileParentComponentsItemsImageDockerfileGit = (V220DevfileParentComponentsItemsImageDockerfileGit) o; + return Objects.equals(this.checkoutFrom, v220DevfileParentComponentsItemsImageDockerfileGit.checkoutFrom) && + Objects.equals(this.fileLocation, v220DevfileParentComponentsItemsImageDockerfileGit.fileLocation) && + Objects.equals(this.remotes, v220DevfileParentComponentsItemsImageDockerfileGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, fileLocation, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentComponentsItemsImageDockerfileGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" fileLocation: ").append(toIndentedString(fileLocation)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom.java new file mode 100644 index 0000000..1979f7e --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom v220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom = (V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom) o; + return Objects.equals(this.remote, v220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom.remote) && + Objects.equals(this.revision, v220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentComponentsItemsImageDockerfileGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsKubernetes.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsKubernetes.java new file mode 100644 index 0000000..7dac8e4 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsKubernetes.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentComponentsItemsKubernetesEndpoints; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production. + */ +@ApiModel(description = "Allows importing into the devworkspace the Kubernetes resources defined in a given manifest. For example this allows reusing the Kubernetes definitions used to deploy some runtime components in production.") + +public class V220DevfileParentComponentsItemsKubernetes { + public static final String SERIALIZED_NAME_DEPLOY_BY_DEFAULT = "deployByDefault"; + @SerializedName(SERIALIZED_NAME_DEPLOY_BY_DEFAULT) + private Boolean deployByDefault; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_INLINED = "inlined"; + @SerializedName(SERIALIZED_NAME_INLINED) + private String inlined; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V220DevfileParentComponentsItemsKubernetes deployByDefault(Boolean deployByDefault) { + + this.deployByDefault = deployByDefault; + return this; + } + + /** + * Defines if the component should be deployed during startup. Default value is `false` + * @return deployByDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the component should be deployed during startup. Default value is `false`") + + public Boolean getDeployByDefault() { + return deployByDefault; + } + + + public void setDeployByDefault(Boolean deployByDefault) { + this.deployByDefault = deployByDefault; + } + + + public V220DevfileParentComponentsItemsKubernetes endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V220DevfileParentComponentsItemsKubernetes addEndpointsItem(V220DevfileParentComponentsItemsKubernetesEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V220DevfileParentComponentsItemsKubernetes inlined(String inlined) { + + this.inlined = inlined; + return this; + } + + /** + * Inlined manifest + * @return inlined + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Inlined manifest") + + public String getInlined() { + return inlined; + } + + + public void setInlined(String inlined) { + this.inlined = inlined; + } + + + public V220DevfileParentComponentsItemsKubernetes uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * Location in a file fetched from a uri. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location in a file fetched from a uri.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentComponentsItemsKubernetes v220DevfileParentComponentsItemsKubernetes = (V220DevfileParentComponentsItemsKubernetes) o; + return Objects.equals(this.deployByDefault, v220DevfileParentComponentsItemsKubernetes.deployByDefault) && + Objects.equals(this.endpoints, v220DevfileParentComponentsItemsKubernetes.endpoints) && + Objects.equals(this.inlined, v220DevfileParentComponentsItemsKubernetes.inlined) && + Objects.equals(this.uri, v220DevfileParentComponentsItemsKubernetes.uri); + } + + @Override + public int hashCode() { + return Objects.hash(deployByDefault, endpoints, inlined, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentComponentsItemsKubernetes {\n"); + sb.append(" deployByDefault: ").append(toIndentedString(deployByDefault)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" inlined: ").append(toIndentedString(inlined)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsKubernetesEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsKubernetesEndpoints.java new file mode 100644 index 0000000..73e143d --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsKubernetesEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V220DevfileParentComponentsItemsKubernetesEndpoints + */ + +public class V220DevfileParentComponentsItemsKubernetesEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V220DevfileParentComponentsItemsKubernetesEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V220DevfileParentComponentsItemsKubernetesEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V220DevfileParentComponentsItemsKubernetesEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V220DevfileParentComponentsItemsKubernetesEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V220DevfileParentComponentsItemsKubernetesEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V220DevfileParentComponentsItemsKubernetesEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V220DevfileParentComponentsItemsKubernetesEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V220DevfileParentComponentsItemsKubernetesEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V220DevfileParentComponentsItemsKubernetesEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentComponentsItemsKubernetesEndpoints v220DevfileParentComponentsItemsKubernetesEndpoints = (V220DevfileParentComponentsItemsKubernetesEndpoints) o; + return Objects.equals(this.annotation, v220DevfileParentComponentsItemsKubernetesEndpoints.annotation) && + Objects.equals(this.attributes, v220DevfileParentComponentsItemsKubernetesEndpoints.attributes) && + Objects.equals(this.exposure, v220DevfileParentComponentsItemsKubernetesEndpoints.exposure) && + Objects.equals(this.name, v220DevfileParentComponentsItemsKubernetesEndpoints.name) && + Objects.equals(this.path, v220DevfileParentComponentsItemsKubernetesEndpoints.path) && + Objects.equals(this.protocol, v220DevfileParentComponentsItemsKubernetesEndpoints.protocol) && + Objects.equals(this.secure, v220DevfileParentComponentsItemsKubernetesEndpoints.secure) && + Objects.equals(this.targetPort, v220DevfileParentComponentsItemsKubernetesEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentComponentsItemsKubernetesEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsOpenshift.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsOpenshift.java new file mode 100644 index 0000000..4a2ecdc --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsOpenshift.java @@ -0,0 +1,198 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentComponentsItemsOpenshiftEndpoints; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production. + */ +@ApiModel(description = "Allows importing into the devworkspace the OpenShift resources defined in a given manifest. For example this allows reusing the OpenShift definitions used to deploy some runtime components in production.") + +public class V220DevfileParentComponentsItemsOpenshift { + public static final String SERIALIZED_NAME_DEPLOY_BY_DEFAULT = "deployByDefault"; + @SerializedName(SERIALIZED_NAME_DEPLOY_BY_DEFAULT) + private Boolean deployByDefault; + + public static final String SERIALIZED_NAME_ENDPOINTS = "endpoints"; + @SerializedName(SERIALIZED_NAME_ENDPOINTS) + private List endpoints = null; + + public static final String SERIALIZED_NAME_INLINED = "inlined"; + @SerializedName(SERIALIZED_NAME_INLINED) + private String inlined; + + public static final String SERIALIZED_NAME_URI = "uri"; + @SerializedName(SERIALIZED_NAME_URI) + private String uri; + + + public V220DevfileParentComponentsItemsOpenshift deployByDefault(Boolean deployByDefault) { + + this.deployByDefault = deployByDefault; + return this; + } + + /** + * Defines if the component should be deployed during startup. Default value is `false` + * @return deployByDefault + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Defines if the component should be deployed during startup. Default value is `false`") + + public Boolean getDeployByDefault() { + return deployByDefault; + } + + + public void setDeployByDefault(Boolean deployByDefault) { + this.deployByDefault = deployByDefault; + } + + + public V220DevfileParentComponentsItemsOpenshift endpoints(List endpoints) { + + this.endpoints = endpoints; + return this; + } + + public V220DevfileParentComponentsItemsOpenshift addEndpointsItem(V220DevfileParentComponentsItemsOpenshiftEndpoints endpointsItem) { + if (this.endpoints == null) { + this.endpoints = new ArrayList<>(); + } + this.endpoints.add(endpointsItem); + return this; + } + + /** + * Get endpoints + * @return endpoints + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List getEndpoints() { + return endpoints; + } + + + public void setEndpoints(List endpoints) { + this.endpoints = endpoints; + } + + + public V220DevfileParentComponentsItemsOpenshift inlined(String inlined) { + + this.inlined = inlined; + return this; + } + + /** + * Inlined manifest + * @return inlined + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Inlined manifest") + + public String getInlined() { + return inlined; + } + + + public void setInlined(String inlined) { + this.inlined = inlined; + } + + + public V220DevfileParentComponentsItemsOpenshift uri(String uri) { + + this.uri = uri; + return this; + } + + /** + * Location in a file fetched from a uri. + * @return uri + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Location in a file fetched from a uri.") + + public String getUri() { + return uri; + } + + + public void setUri(String uri) { + this.uri = uri; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentComponentsItemsOpenshift v220DevfileParentComponentsItemsOpenshift = (V220DevfileParentComponentsItemsOpenshift) o; + return Objects.equals(this.deployByDefault, v220DevfileParentComponentsItemsOpenshift.deployByDefault) && + Objects.equals(this.endpoints, v220DevfileParentComponentsItemsOpenshift.endpoints) && + Objects.equals(this.inlined, v220DevfileParentComponentsItemsOpenshift.inlined) && + Objects.equals(this.uri, v220DevfileParentComponentsItemsOpenshift.uri); + } + + @Override + public int hashCode() { + return Objects.hash(deployByDefault, endpoints, inlined, uri); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentComponentsItemsOpenshift {\n"); + sb.append(" deployByDefault: ").append(toIndentedString(deployByDefault)).append("\n"); + sb.append(" endpoints: ").append(toIndentedString(endpoints)).append("\n"); + sb.append(" inlined: ").append(toIndentedString(inlined)).append("\n"); + sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsOpenshiftEndpoints.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsOpenshiftEndpoints.java new file mode 100644 index 0000000..422510d --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsOpenshiftEndpoints.java @@ -0,0 +1,416 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * V220DevfileParentComponentsItemsOpenshiftEndpoints + */ + +public class V220DevfileParentComponentsItemsOpenshiftEndpoints { + public static final String SERIALIZED_NAME_ANNOTATION = "annotation"; + @SerializedName(SERIALIZED_NAME_ANNOTATION) + private Map annotation = null; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + */ + @JsonAdapter(ExposureEnum.Adapter.class) + public enum ExposureEnum { + PUBLIC("public"), + + INTERNAL("internal"), + + NONE("none"); + + private String value; + + ExposureEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExposureEnum fromValue(String value) { + for (ExposureEnum b : ExposureEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExposureEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExposureEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExposureEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_EXPOSURE = "exposure"; + @SerializedName(SERIALIZED_NAME_EXPOSURE) + private ExposureEnum exposure; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_PATH = "path"; + @SerializedName(SERIALIZED_NAME_PATH) + private String path; + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + */ + @JsonAdapter(ProtocolEnum.Adapter.class) + public enum ProtocolEnum { + HTTP("http"), + + HTTPS("https"), + + WS("ws"), + + WSS("wss"), + + TCP("tcp"), + + UDP("udp"); + + private String value; + + ProtocolEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ProtocolEnum fromValue(String value) { + for (ProtocolEnum b : ProtocolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ProtocolEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ProtocolEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ProtocolEnum.fromValue(value); + } + } + } + + public static final String SERIALIZED_NAME_PROTOCOL = "protocol"; + @SerializedName(SERIALIZED_NAME_PROTOCOL) + private ProtocolEnum protocol; + + public static final String SERIALIZED_NAME_SECURE = "secure"; + @SerializedName(SERIALIZED_NAME_SECURE) + private Boolean secure; + + public static final String SERIALIZED_NAME_TARGET_PORT = "targetPort"; + @SerializedName(SERIALIZED_NAME_TARGET_PORT) + private Integer targetPort; + + + public V220DevfileParentComponentsItemsOpenshiftEndpoints annotation(Map annotation) { + + this.annotation = annotation; + return this; + } + + public V220DevfileParentComponentsItemsOpenshiftEndpoints putAnnotationItem(String key, String annotationItem) { + if (this.annotation == null) { + this.annotation = new HashMap<>(); + } + this.annotation.put(key, annotationItem); + return this; + } + + /** + * Annotations to be added to Kubernetes Ingress or Openshift Route + * @return annotation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Annotations to be added to Kubernetes Ingress or Openshift Route") + + public Map getAnnotation() { + return annotation; + } + + + public void setAnnotation(Map annotation) { + this.annotation = annotation; + } + + + public V220DevfileParentComponentsItemsOpenshiftEndpoints attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\", + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant string-based free-form attributes. Examples of Che-specific attributes: - cookiesAuthEnabled: \"true\" / \"false\", - type: \"terminal\" / \"ide\" / \"ide-dev\",") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V220DevfileParentComponentsItemsOpenshiftEndpoints exposure(ExposureEnum exposure) { + + this.exposure = exposure; + return this; + } + + /** + * Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public` + * @return exposure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes how the endpoint should be exposed on the network. - `public` means that the endpoint will be exposed on the public network, typically through a K8S ingress or an OpenShift route. - `internal` means that the endpoint will be exposed internally outside of the main devworkspace POD, typically by K8S services, to be consumed by other elements running on the same cloud internal network. - `none` means that the endpoint will not be exposed and will only be accessible inside the main devworkspace POD, on a local address. Default value is `public`") + + public ExposureEnum getExposure() { + return exposure; + } + + + public void setExposure(ExposureEnum exposure) { + this.exposure = exposure; + } + + + public V220DevfileParentComponentsItemsOpenshiftEndpoints name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V220DevfileParentComponentsItemsOpenshiftEndpoints path(String path) { + + this.path = path; + return this; + } + + /** + * Path of the endpoint URL + * @return path + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path of the endpoint URL") + + public String getPath() { + return path; + } + + + public void setPath(String path) { + this.path = path; + } + + + public V220DevfileParentComponentsItemsOpenshiftEndpoints protocol(ProtocolEnum protocol) { + + this.protocol = protocol; + return this; + } + + /** + * Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http` + * @return protocol + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes the application and transport protocols of the traffic that will go through this endpoint. - `http`: Endpoint will have `http` traffic, typically on a TCP connection. It will be automaticaly promoted to `https` when the `secure` field is set to `true`. - `https`: Endpoint will have `https` traffic, typically on a TCP connection. - `ws`: Endpoint will have `ws` traffic, typically on a TCP connection. It will be automaticaly promoted to `wss` when the `secure` field is set to `true`. - `wss`: Endpoint will have `wss` traffic, typically on a TCP connection. - `tcp`: Endpoint will have traffic on a TCP connection, without specifying an application protocol. - `udp`: Endpoint will have traffic on an UDP connection, without specifying an application protocol. Default value is `http`") + + public ProtocolEnum getProtocol() { + return protocol; + } + + + public void setProtocol(ProtocolEnum protocol) { + this.protocol = protocol; + } + + + public V220DevfileParentComponentsItemsOpenshiftEndpoints secure(Boolean secure) { + + this.secure = secure; + return this; + } + + /** + * Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`. + * @return secure + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`.") + + public Boolean getSecure() { + return secure; + } + + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + + public V220DevfileParentComponentsItemsOpenshiftEndpoints targetPort(Integer targetPort) { + + this.targetPort = targetPort; + return this; + } + + /** + * Port number to be used within the container component. The same port cannot be used by two different container components. + * @return targetPort + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Port number to be used within the container component. The same port cannot be used by two different container components.") + + public Integer getTargetPort() { + return targetPort; + } + + + public void setTargetPort(Integer targetPort) { + this.targetPort = targetPort; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentComponentsItemsOpenshiftEndpoints v220DevfileParentComponentsItemsOpenshiftEndpoints = (V220DevfileParentComponentsItemsOpenshiftEndpoints) o; + return Objects.equals(this.annotation, v220DevfileParentComponentsItemsOpenshiftEndpoints.annotation) && + Objects.equals(this.attributes, v220DevfileParentComponentsItemsOpenshiftEndpoints.attributes) && + Objects.equals(this.exposure, v220DevfileParentComponentsItemsOpenshiftEndpoints.exposure) && + Objects.equals(this.name, v220DevfileParentComponentsItemsOpenshiftEndpoints.name) && + Objects.equals(this.path, v220DevfileParentComponentsItemsOpenshiftEndpoints.path) && + Objects.equals(this.protocol, v220DevfileParentComponentsItemsOpenshiftEndpoints.protocol) && + Objects.equals(this.secure, v220DevfileParentComponentsItemsOpenshiftEndpoints.secure) && + Objects.equals(this.targetPort, v220DevfileParentComponentsItemsOpenshiftEndpoints.targetPort); + } + + @Override + public int hashCode() { + return Objects.hash(annotation, attributes, exposure, name, path, protocol, secure, targetPort); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentComponentsItemsOpenshiftEndpoints {\n"); + sb.append(" annotation: ").append(toIndentedString(annotation)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" exposure: ").append(toIndentedString(exposure)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" protocol: ").append(toIndentedString(protocol)).append("\n"); + sb.append(" secure: ").append(toIndentedString(secure)).append("\n"); + sb.append(" targetPort: ").append(toIndentedString(targetPort)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsVolume.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsVolume.java new file mode 100644 index 0000000..4f4b711 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentComponentsItemsVolume.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Allows specifying the definition of a volume shared by several other components + */ +@ApiModel(description = "Allows specifying the definition of a volume shared by several other components") + +public class V220DevfileParentComponentsItemsVolume { + public static final String SERIALIZED_NAME_EPHEMERAL = "ephemeral"; + @SerializedName(SERIALIZED_NAME_EPHEMERAL) + private Boolean ephemeral; + + public static final String SERIALIZED_NAME_SIZE = "size"; + @SerializedName(SERIALIZED_NAME_SIZE) + private String size; + + + public V220DevfileParentComponentsItemsVolume ephemeral(Boolean ephemeral) { + + this.ephemeral = ephemeral; + return this; + } + + /** + * Ephemeral volumes are not stored persistently across restarts. Defaults to false + * @return ephemeral + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Ephemeral volumes are not stored persistently across restarts. Defaults to false") + + public Boolean getEphemeral() { + return ephemeral; + } + + + public void setEphemeral(Boolean ephemeral) { + this.ephemeral = ephemeral; + } + + + public V220DevfileParentComponentsItemsVolume size(String size) { + + this.size = size; + return this; + } + + /** + * Size of the volume + * @return size + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Size of the volume") + + public String getSize() { + return size; + } + + + public void setSize(String size) { + this.size = size; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentComponentsItemsVolume v220DevfileParentComponentsItemsVolume = (V220DevfileParentComponentsItemsVolume) o; + return Objects.equals(this.ephemeral, v220DevfileParentComponentsItemsVolume.ephemeral) && + Objects.equals(this.size, v220DevfileParentComponentsItemsVolume.size); + } + + @Override + public int hashCode() { + return Objects.hash(ephemeral, size); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentComponentsItemsVolume {\n"); + sb.append(" ephemeral: ").append(toIndentedString(ephemeral)).append("\n"); + sb.append(" size: ").append(toIndentedString(size)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentKubernetes.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentKubernetes.java new file mode 100644 index 0000000..228dd2b --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentKubernetes.java @@ -0,0 +1,128 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Reference to a Kubernetes CRD of type DevWorkspaceTemplate + */ +@ApiModel(description = "Reference to a Kubernetes CRD of type DevWorkspaceTemplate") + +public class V220DevfileParentKubernetes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_NAMESPACE = "namespace"; + @SerializedName(SERIALIZED_NAME_NAMESPACE) + private String namespace; + + + public V220DevfileParentKubernetes name(String name) { + + this.name = name; + return this; + } + + /** + * Get name + * @return name + **/ + @ApiModelProperty(required = true, value = "") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V220DevfileParentKubernetes namespace(String namespace) { + + this.namespace = namespace; + return this; + } + + /** + * Get namespace + * @return namespace + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public String getNamespace() { + return namespace; + } + + + public void setNamespace(String namespace) { + this.namespace = namespace; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentKubernetes v220DevfileParentKubernetes = (V220DevfileParentKubernetes) o; + return Objects.equals(this.name, v220DevfileParentKubernetes.name) && + Objects.equals(this.namespace, v220DevfileParentKubernetes.namespace); + } + + @Override + public int hashCode() { + return Objects.hash(name, namespace); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentKubernetes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" namespace: ").append(toIndentedString(namespace)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentProjects.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentProjects.java new file mode 100644 index 0000000..3b7560e --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentProjects.java @@ -0,0 +1,216 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentProjectsItemsGit; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentProjectsItemsZip; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V220DevfileParentProjects + */ + +public class V220DevfileParentProjects { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_CLONE_PATH = "clonePath"; + @SerializedName(SERIALIZED_NAME_CLONE_PATH) + private String clonePath; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V220DevfileParentProjectsItemsGit git; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ZIP = "zip"; + @SerializedName(SERIALIZED_NAME_ZIP) + private V220DevfileParentProjectsItemsZip zip; + + + public V220DevfileParentProjects attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V220DevfileParentProjects clonePath(String clonePath) { + + this.clonePath = clonePath; + return this; + } + + /** + * Path relative to the root of the projects to which this project should be cloned into. This is a unix-style relative path (i.e. uses forward slashes). The path is invalid if it is absolute or tries to escape the project root through the usage of '..'. If not specified, defaults to the project name. + * @return clonePath + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path relative to the root of the projects to which this project should be cloned into. This is a unix-style relative path (i.e. uses forward slashes). The path is invalid if it is absolute or tries to escape the project root through the usage of '..'. If not specified, defaults to the project name.") + + public String getClonePath() { + return clonePath; + } + + + public void setClonePath(String clonePath) { + this.clonePath = clonePath; + } + + + public V220DevfileParentProjects git(V220DevfileParentProjectsItemsGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentProjectsItemsGit getGit() { + return git; + } + + + public void setGit(V220DevfileParentProjectsItemsGit git) { + this.git = git; + } + + + public V220DevfileParentProjects name(String name) { + + this.name = name; + return this; + } + + /** + * Project name + * @return name + **/ + @ApiModelProperty(required = true, value = "Project name") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V220DevfileParentProjects zip(V220DevfileParentProjectsItemsZip zip) { + + this.zip = zip; + return this; + } + + /** + * Get zip + * @return zip + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentProjectsItemsZip getZip() { + return zip; + } + + + public void setZip(V220DevfileParentProjectsItemsZip zip) { + this.zip = zip; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentProjects v220DevfileParentProjects = (V220DevfileParentProjects) o; + return Objects.equals(this.attributes, v220DevfileParentProjects.attributes) && + Objects.equals(this.clonePath, v220DevfileParentProjects.clonePath) && + Objects.equals(this.git, v220DevfileParentProjects.git) && + Objects.equals(this.name, v220DevfileParentProjects.name) && + Objects.equals(this.zip, v220DevfileParentProjects.zip); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, clonePath, git, name, zip); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentProjects {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" clonePath: ").append(toIndentedString(clonePath)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" zip: ").append(toIndentedString(zip)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentProjectsItemsGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentProjectsItemsGit.java new file mode 100644 index 0000000..41f98e1 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentProjectsItemsGit.java @@ -0,0 +1,141 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentProjectsItemsGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Project's Git source + */ +@ApiModel(description = "Project's Git source") + +public class V220DevfileParentProjectsItemsGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V220DevfileParentProjectsItemsGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = null; + + + public V220DevfileParentProjectsItemsGit checkoutFrom(V220DevfileParentProjectsItemsGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentProjectsItemsGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V220DevfileParentProjectsItemsGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V220DevfileParentProjectsItemsGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V220DevfileParentProjectsItemsGit putRemotesItem(String key, String remotesItem) { + if (this.remotes == null) { + this.remotes = new HashMap<>(); + } + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentProjectsItemsGit v220DevfileParentProjectsItemsGit = (V220DevfileParentProjectsItemsGit) o; + return Objects.equals(this.checkoutFrom, v220DevfileParentProjectsItemsGit.checkoutFrom) && + Objects.equals(this.remotes, v220DevfileParentProjectsItemsGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentProjectsItemsGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentProjectsItemsGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentProjectsItemsGitCheckoutFrom.java new file mode 100644 index 0000000..0955829 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentProjectsItemsGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V220DevfileParentProjectsItemsGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V220DevfileParentProjectsItemsGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V220DevfileParentProjectsItemsGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentProjectsItemsGitCheckoutFrom v220DevfileParentProjectsItemsGitCheckoutFrom = (V220DevfileParentProjectsItemsGitCheckoutFrom) o; + return Objects.equals(this.remote, v220DevfileParentProjectsItemsGitCheckoutFrom.remote) && + Objects.equals(this.revision, v220DevfileParentProjectsItemsGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentProjectsItemsGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentProjectsItemsZip.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentProjectsItemsZip.java new file mode 100644 index 0000000..01d3c99 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentProjectsItemsZip.java @@ -0,0 +1,100 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Project's Zip source + */ +@ApiModel(description = "Project's Zip source") + +public class V220DevfileParentProjectsItemsZip { + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private String location; + + + public V220DevfileParentProjectsItemsZip location(String location) { + + this.location = location; + return this; + } + + /** + * Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH + * @return location + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH") + + public String getLocation() { + return location; + } + + + public void setLocation(String location) { + this.location = location; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentProjectsItemsZip v220DevfileParentProjectsItemsZip = (V220DevfileParentProjectsItemsZip) o; + return Objects.equals(this.location, v220DevfileParentProjectsItemsZip.location); + } + + @Override + public int hashCode() { + return Objects.hash(location); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentProjectsItemsZip {\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentStarterProjects.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentStarterProjects.java new file mode 100644 index 0000000..2d6dc48 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentStarterProjects.java @@ -0,0 +1,245 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentStarterProjectsItemsGit; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentStarterProjectsItemsZip; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V220DevfileParentStarterProjects + */ + +public class V220DevfileParentStarterProjects { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V220DevfileParentStarterProjectsItemsGit git; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_SUB_DIR = "subDir"; + @SerializedName(SERIALIZED_NAME_SUB_DIR) + private String subDir; + + public static final String SERIALIZED_NAME_ZIP = "zip"; + @SerializedName(SERIALIZED_NAME_ZIP) + private V220DevfileParentStarterProjectsItemsZip zip; + + + public V220DevfileParentStarterProjects attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V220DevfileParentStarterProjects description(String description) { + + this.description = description; + return this; + } + + /** + * Description of a starter project + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Description of a starter project") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public V220DevfileParentStarterProjects git(V220DevfileParentStarterProjectsItemsGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentStarterProjectsItemsGit getGit() { + return git; + } + + + public void setGit(V220DevfileParentStarterProjectsItemsGit git) { + this.git = git; + } + + + public V220DevfileParentStarterProjects name(String name) { + + this.name = name; + return this; + } + + /** + * Project name + * @return name + **/ + @ApiModelProperty(required = true, value = "Project name") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V220DevfileParentStarterProjects subDir(String subDir) { + + this.subDir = subDir; + return this; + } + + /** + * Sub-directory from a starter project to be used as root for starter project. + * @return subDir + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Sub-directory from a starter project to be used as root for starter project.") + + public String getSubDir() { + return subDir; + } + + + public void setSubDir(String subDir) { + this.subDir = subDir; + } + + + public V220DevfileParentStarterProjects zip(V220DevfileParentStarterProjectsItemsZip zip) { + + this.zip = zip; + return this; + } + + /** + * Get zip + * @return zip + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentStarterProjectsItemsZip getZip() { + return zip; + } + + + public void setZip(V220DevfileParentStarterProjectsItemsZip zip) { + this.zip = zip; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentStarterProjects v220DevfileParentStarterProjects = (V220DevfileParentStarterProjects) o; + return Objects.equals(this.attributes, v220DevfileParentStarterProjects.attributes) && + Objects.equals(this.description, v220DevfileParentStarterProjects.description) && + Objects.equals(this.git, v220DevfileParentStarterProjects.git) && + Objects.equals(this.name, v220DevfileParentStarterProjects.name) && + Objects.equals(this.subDir, v220DevfileParentStarterProjects.subDir) && + Objects.equals(this.zip, v220DevfileParentStarterProjects.zip); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, description, git, name, subDir, zip); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentStarterProjects {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" subDir: ").append(toIndentedString(subDir)).append("\n"); + sb.append(" zip: ").append(toIndentedString(zip)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentStarterProjectsItemsGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentStarterProjectsItemsGit.java new file mode 100644 index 0000000..ed7d670 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentStarterProjectsItemsGit.java @@ -0,0 +1,141 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileParentStarterProjectsItemsGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Project's Git source + */ +@ApiModel(description = "Project's Git source") + +public class V220DevfileParentStarterProjectsItemsGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V220DevfileParentStarterProjectsItemsGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = null; + + + public V220DevfileParentStarterProjectsItemsGit checkoutFrom(V220DevfileParentStarterProjectsItemsGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileParentStarterProjectsItemsGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V220DevfileParentStarterProjectsItemsGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V220DevfileParentStarterProjectsItemsGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V220DevfileParentStarterProjectsItemsGit putRemotesItem(String key, String remotesItem) { + if (this.remotes == null) { + this.remotes = new HashMap<>(); + } + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentStarterProjectsItemsGit v220DevfileParentStarterProjectsItemsGit = (V220DevfileParentStarterProjectsItemsGit) o; + return Objects.equals(this.checkoutFrom, v220DevfileParentStarterProjectsItemsGit.checkoutFrom) && + Objects.equals(this.remotes, v220DevfileParentStarterProjectsItemsGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentStarterProjectsItemsGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentStarterProjectsItemsGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentStarterProjectsItemsGitCheckoutFrom.java new file mode 100644 index 0000000..db14c8e --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentStarterProjectsItemsGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V220DevfileParentStarterProjectsItemsGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V220DevfileParentStarterProjectsItemsGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V220DevfileParentStarterProjectsItemsGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentStarterProjectsItemsGitCheckoutFrom v220DevfileParentStarterProjectsItemsGitCheckoutFrom = (V220DevfileParentStarterProjectsItemsGitCheckoutFrom) o; + return Objects.equals(this.remote, v220DevfileParentStarterProjectsItemsGitCheckoutFrom.remote) && + Objects.equals(this.revision, v220DevfileParentStarterProjectsItemsGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentStarterProjectsItemsGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentStarterProjectsItemsZip.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentStarterProjectsItemsZip.java new file mode 100644 index 0000000..4befd9f --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileParentStarterProjectsItemsZip.java @@ -0,0 +1,100 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Project's Zip source + */ +@ApiModel(description = "Project's Zip source") + +public class V220DevfileParentStarterProjectsItemsZip { + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private String location; + + + public V220DevfileParentStarterProjectsItemsZip location(String location) { + + this.location = location; + return this; + } + + /** + * Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH + * @return location + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH") + + public String getLocation() { + return location; + } + + + public void setLocation(String location) { + this.location = location; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileParentStarterProjectsItemsZip v220DevfileParentStarterProjectsItemsZip = (V220DevfileParentStarterProjectsItemsZip) o; + return Objects.equals(this.location, v220DevfileParentStarterProjectsItemsZip.location); + } + + @Override + public int hashCode() { + return Objects.hash(location); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileParentStarterProjectsItemsZip {\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileProjects.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileProjects.java new file mode 100644 index 0000000..a5727c1 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileProjects.java @@ -0,0 +1,216 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileProjectsItemsGit; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileProjectsItemsZip; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V220DevfileProjects + */ + +public class V220DevfileProjects { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_CLONE_PATH = "clonePath"; + @SerializedName(SERIALIZED_NAME_CLONE_PATH) + private String clonePath; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V220DevfileProjectsItemsGit git; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_ZIP = "zip"; + @SerializedName(SERIALIZED_NAME_ZIP) + private V220DevfileProjectsItemsZip zip; + + + public V220DevfileProjects attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V220DevfileProjects clonePath(String clonePath) { + + this.clonePath = clonePath; + return this; + } + + /** + * Path relative to the root of the projects to which this project should be cloned into. This is a unix-style relative path (i.e. uses forward slashes). The path is invalid if it is absolute or tries to escape the project root through the usage of '..'. If not specified, defaults to the project name. + * @return clonePath + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Path relative to the root of the projects to which this project should be cloned into. This is a unix-style relative path (i.e. uses forward slashes). The path is invalid if it is absolute or tries to escape the project root through the usage of '..'. If not specified, defaults to the project name.") + + public String getClonePath() { + return clonePath; + } + + + public void setClonePath(String clonePath) { + this.clonePath = clonePath; + } + + + public V220DevfileProjects git(V220DevfileProjectsItemsGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileProjectsItemsGit getGit() { + return git; + } + + + public void setGit(V220DevfileProjectsItemsGit git) { + this.git = git; + } + + + public V220DevfileProjects name(String name) { + + this.name = name; + return this; + } + + /** + * Project name + * @return name + **/ + @ApiModelProperty(required = true, value = "Project name") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V220DevfileProjects zip(V220DevfileProjectsItemsZip zip) { + + this.zip = zip; + return this; + } + + /** + * Get zip + * @return zip + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileProjectsItemsZip getZip() { + return zip; + } + + + public void setZip(V220DevfileProjectsItemsZip zip) { + this.zip = zip; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileProjects v220DevfileProjects = (V220DevfileProjects) o; + return Objects.equals(this.attributes, v220DevfileProjects.attributes) && + Objects.equals(this.clonePath, v220DevfileProjects.clonePath) && + Objects.equals(this.git, v220DevfileProjects.git) && + Objects.equals(this.name, v220DevfileProjects.name) && + Objects.equals(this.zip, v220DevfileProjects.zip); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, clonePath, git, name, zip); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileProjects {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" clonePath: ").append(toIndentedString(clonePath)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" zip: ").append(toIndentedString(zip)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileProjectsItemsGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileProjectsItemsGit.java new file mode 100644 index 0000000..b267bc7 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileProjectsItemsGit.java @@ -0,0 +1,137 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileProjectsItemsGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Project's Git source + */ +@ApiModel(description = "Project's Git source") + +public class V220DevfileProjectsItemsGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V220DevfileProjectsItemsGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = new HashMap<>(); + + + public V220DevfileProjectsItemsGit checkoutFrom(V220DevfileProjectsItemsGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileProjectsItemsGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V220DevfileProjectsItemsGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V220DevfileProjectsItemsGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V220DevfileProjectsItemsGit putRemotesItem(String key, String remotesItem) { + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @ApiModelProperty(required = true, value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileProjectsItemsGit v220DevfileProjectsItemsGit = (V220DevfileProjectsItemsGit) o; + return Objects.equals(this.checkoutFrom, v220DevfileProjectsItemsGit.checkoutFrom) && + Objects.equals(this.remotes, v220DevfileProjectsItemsGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileProjectsItemsGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileProjectsItemsGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileProjectsItemsGitCheckoutFrom.java new file mode 100644 index 0000000..6760e04 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileProjectsItemsGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V220DevfileProjectsItemsGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V220DevfileProjectsItemsGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V220DevfileProjectsItemsGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileProjectsItemsGitCheckoutFrom v220DevfileProjectsItemsGitCheckoutFrom = (V220DevfileProjectsItemsGitCheckoutFrom) o; + return Objects.equals(this.remote, v220DevfileProjectsItemsGitCheckoutFrom.remote) && + Objects.equals(this.revision, v220DevfileProjectsItemsGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileProjectsItemsGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileProjectsItemsZip.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileProjectsItemsZip.java new file mode 100644 index 0000000..f8f82d9 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileProjectsItemsZip.java @@ -0,0 +1,100 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Project's Zip source + */ +@ApiModel(description = "Project's Zip source") + +public class V220DevfileProjectsItemsZip { + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private String location; + + + public V220DevfileProjectsItemsZip location(String location) { + + this.location = location; + return this; + } + + /** + * Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH + * @return location + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH") + + public String getLocation() { + return location; + } + + + public void setLocation(String location) { + this.location = location; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileProjectsItemsZip v220DevfileProjectsItemsZip = (V220DevfileProjectsItemsZip) o; + return Objects.equals(this.location, v220DevfileProjectsItemsZip.location); + } + + @Override + public int hashCode() { + return Objects.hash(location); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileProjectsItemsZip {\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileStarterProjects.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileStarterProjects.java new file mode 100644 index 0000000..3b344ee --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileStarterProjects.java @@ -0,0 +1,245 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileStarterProjectsItemsGit; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileStarterProjectsItemsZip; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * V220DevfileStarterProjects + */ + +public class V220DevfileStarterProjects { + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + private Object attributes; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + private String description; + + public static final String SERIALIZED_NAME_GIT = "git"; + @SerializedName(SERIALIZED_NAME_GIT) + private V220DevfileStarterProjectsItemsGit git; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + private String name; + + public static final String SERIALIZED_NAME_SUB_DIR = "subDir"; + @SerializedName(SERIALIZED_NAME_SUB_DIR) + private String subDir; + + public static final String SERIALIZED_NAME_ZIP = "zip"; + @SerializedName(SERIALIZED_NAME_ZIP) + private V220DevfileStarterProjectsItemsZip zip; + + + public V220DevfileStarterProjects attributes(Object attributes) { + + this.attributes = attributes; + return this; + } + + /** + * Map of implementation-dependant free-form YAML attributes. + * @return attributes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Map of implementation-dependant free-form YAML attributes.") + + public Object getAttributes() { + return attributes; + } + + + public void setAttributes(Object attributes) { + this.attributes = attributes; + } + + + public V220DevfileStarterProjects description(String description) { + + this.description = description; + return this; + } + + /** + * Description of a starter project + * @return description + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Description of a starter project") + + public String getDescription() { + return description; + } + + + public void setDescription(String description) { + this.description = description; + } + + + public V220DevfileStarterProjects git(V220DevfileStarterProjectsItemsGit git) { + + this.git = git; + return this; + } + + /** + * Get git + * @return git + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileStarterProjectsItemsGit getGit() { + return git; + } + + + public void setGit(V220DevfileStarterProjectsItemsGit git) { + this.git = git; + } + + + public V220DevfileStarterProjects name(String name) { + + this.name = name; + return this; + } + + /** + * Project name + * @return name + **/ + @ApiModelProperty(required = true, value = "Project name") + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public V220DevfileStarterProjects subDir(String subDir) { + + this.subDir = subDir; + return this; + } + + /** + * Sub-directory from a starter project to be used as root for starter project. + * @return subDir + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Sub-directory from a starter project to be used as root for starter project.") + + public String getSubDir() { + return subDir; + } + + + public void setSubDir(String subDir) { + this.subDir = subDir; + } + + + public V220DevfileStarterProjects zip(V220DevfileStarterProjectsItemsZip zip) { + + this.zip = zip; + return this; + } + + /** + * Get zip + * @return zip + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileStarterProjectsItemsZip getZip() { + return zip; + } + + + public void setZip(V220DevfileStarterProjectsItemsZip zip) { + this.zip = zip; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileStarterProjects v220DevfileStarterProjects = (V220DevfileStarterProjects) o; + return Objects.equals(this.attributes, v220DevfileStarterProjects.attributes) && + Objects.equals(this.description, v220DevfileStarterProjects.description) && + Objects.equals(this.git, v220DevfileStarterProjects.git) && + Objects.equals(this.name, v220DevfileStarterProjects.name) && + Objects.equals(this.subDir, v220DevfileStarterProjects.subDir) && + Objects.equals(this.zip, v220DevfileStarterProjects.zip); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, description, git, name, subDir, zip); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileStarterProjects {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" git: ").append(toIndentedString(git)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" subDir: ").append(toIndentedString(subDir)).append("\n"); + sb.append(" zip: ").append(toIndentedString(zip)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileStarterProjectsItemsGit.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileStarterProjectsItemsGit.java new file mode 100644 index 0000000..c0f88b0 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileStarterProjectsItemsGit.java @@ -0,0 +1,137 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.github.che_incubator.devfile.kubernetes.client.models.V220DevfileStarterProjectsItemsGitCheckoutFrom; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Project's Git source + */ +@ApiModel(description = "Project's Git source") + +public class V220DevfileStarterProjectsItemsGit { + public static final String SERIALIZED_NAME_CHECKOUT_FROM = "checkoutFrom"; + @SerializedName(SERIALIZED_NAME_CHECKOUT_FROM) + private V220DevfileStarterProjectsItemsGitCheckoutFrom checkoutFrom; + + public static final String SERIALIZED_NAME_REMOTES = "remotes"; + @SerializedName(SERIALIZED_NAME_REMOTES) + private Map remotes = new HashMap<>(); + + + public V220DevfileStarterProjectsItemsGit checkoutFrom(V220DevfileStarterProjectsItemsGitCheckoutFrom checkoutFrom) { + + this.checkoutFrom = checkoutFrom; + return this; + } + + /** + * Get checkoutFrom + * @return checkoutFrom + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public V220DevfileStarterProjectsItemsGitCheckoutFrom getCheckoutFrom() { + return checkoutFrom; + } + + + public void setCheckoutFrom(V220DevfileStarterProjectsItemsGitCheckoutFrom checkoutFrom) { + this.checkoutFrom = checkoutFrom; + } + + + public V220DevfileStarterProjectsItemsGit remotes(Map remotes) { + + this.remotes = remotes; + return this; + } + + public V220DevfileStarterProjectsItemsGit putRemotesItem(String key, String remotesItem) { + this.remotes.put(key, remotesItem); + return this; + } + + /** + * The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured. + * @return remotes + **/ + @ApiModelProperty(required = true, value = "The remotes map which should be initialized in the git project. Projects must have at least one remote configured while StarterProjects & Image Component's Git source can only have at most one remote configured.") + + public Map getRemotes() { + return remotes; + } + + + public void setRemotes(Map remotes) { + this.remotes = remotes; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileStarterProjectsItemsGit v220DevfileStarterProjectsItemsGit = (V220DevfileStarterProjectsItemsGit) o; + return Objects.equals(this.checkoutFrom, v220DevfileStarterProjectsItemsGit.checkoutFrom) && + Objects.equals(this.remotes, v220DevfileStarterProjectsItemsGit.remotes); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutFrom, remotes); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileStarterProjectsItemsGit {\n"); + sb.append(" checkoutFrom: ").append(toIndentedString(checkoutFrom)).append("\n"); + sb.append(" remotes: ").append(toIndentedString(remotes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileStarterProjectsItemsGitCheckoutFrom.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileStarterProjectsItemsGitCheckoutFrom.java new file mode 100644 index 0000000..19f714e --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileStarterProjectsItemsGitCheckoutFrom.java @@ -0,0 +1,129 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Defines from what the project should be checked out. Required if there are more than one remote configured + */ +@ApiModel(description = "Defines from what the project should be checked out. Required if there are more than one remote configured") + +public class V220DevfileStarterProjectsItemsGitCheckoutFrom { + public static final String SERIALIZED_NAME_REMOTE = "remote"; + @SerializedName(SERIALIZED_NAME_REMOTE) + private String remote; + + public static final String SERIALIZED_NAME_REVISION = "revision"; + @SerializedName(SERIALIZED_NAME_REVISION) + private String revision; + + + public V220DevfileStarterProjectsItemsGitCheckoutFrom remote(String remote) { + + this.remote = remote; + return this; + } + + /** + * The remote name should be used as init. Required if there are more than one remote configured + * @return remote + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The remote name should be used as init. Required if there are more than one remote configured") + + public String getRemote() { + return remote; + } + + + public void setRemote(String remote) { + this.remote = remote; + } + + + public V220DevfileStarterProjectsItemsGitCheckoutFrom revision(String revision) { + + this.revision = revision; + return this; + } + + /** + * The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found. + * @return revision + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "The revision to checkout from. Should be branch name, tag or commit id. Default branch is used if missing or specified revision is not found.") + + public String getRevision() { + return revision; + } + + + public void setRevision(String revision) { + this.revision = revision; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileStarterProjectsItemsGitCheckoutFrom v220DevfileStarterProjectsItemsGitCheckoutFrom = (V220DevfileStarterProjectsItemsGitCheckoutFrom) o; + return Objects.equals(this.remote, v220DevfileStarterProjectsItemsGitCheckoutFrom.remote) && + Objects.equals(this.revision, v220DevfileStarterProjectsItemsGitCheckoutFrom.revision); + } + + @Override + public int hashCode() { + return Objects.hash(remote, revision); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileStarterProjectsItemsGitCheckoutFrom {\n"); + sb.append(" remote: ").append(toIndentedString(remote)).append("\n"); + sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileStarterProjectsItemsZip.java b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileStarterProjectsItemsZip.java new file mode 100644 index 0000000..faacb19 --- /dev/null +++ b/src/main/java/io/github/che_incubator/devfile/kubernetes/client/models/V220DevfileStarterProjectsItemsZip.java @@ -0,0 +1,100 @@ +/* + * Kubernetes + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package io.github.che_incubator.devfile.kubernetes.client.models; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Project's Zip source + */ +@ApiModel(description = "Project's Zip source") + +public class V220DevfileStarterProjectsItemsZip { + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private String location; + + + public V220DevfileStarterProjectsItemsZip location(String location) { + + this.location = location; + return this; + } + + /** + * Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH + * @return location + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Zip project's source location address. Should be file path of the archive, e.g. file://$FILE_PATH") + + public String getLocation() { + return location; + } + + + public void setLocation(String location) { + this.location = location; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + V220DevfileStarterProjectsItemsZip v220DevfileStarterProjectsItemsZip = (V220DevfileStarterProjectsItemsZip) o; + return Objects.equals(this.location, v220DevfileStarterProjectsItemsZip.location); + } + + @Override + public int hashCode() { + return Objects.hash(location); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class V220DevfileStarterProjectsItemsZip {\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/tools/generate-java-models.sh b/tools/generate-java-models.sh new file mode 100755 index 0000000..43ff718 --- /dev/null +++ b/tools/generate-java-models.sh @@ -0,0 +1,64 @@ +#!/usr/bin/env bash + +# +# Copyright (c) 2021 Red Hat, Inc. +# This program and the accompanying materials are made +# available under the terms of the Eclipse Public License 2.0 +# which is available at https://www.eclipse.org/legal/epl-2.0/ +# +# SPDX-License-Identifier: EPL-2.0 +# + +set -e + +GEN_REVISION=a3aef4de7a1d5dab72021aa282fffd8bc8a022ca + +base_dir=$( + cd "$(dirname "$0")" || exit + pwd +) + +work_dir=${base_dir}/workdir +echo "[INFO] Using the following folder to store all build files ${base_dir}/workdir" +mkdir -p "$work_dir" +mkdir -p "$work_dir"/schemas/latest + +pushd "$work_dir"/schemas/latest + curl -sSLO https://raw.githubusercontent.com/devfile/api/main/schemas/latest/k8sApiVersion.txt + curl -sSLO https://raw.githubusercontent.com/devfile/api/main/schemas/latest/jsonSchemaVersion.txt + curl -sSLO https://raw.githubusercontent.com/devfile/api/main/schemas/latest/devfile.json + curl -sSLO https://raw.githubusercontent.com/devfile/api/main/schemas/latest/dev-workspace.json + curl -sSLO https://raw.githubusercontent.com/devfile/api/main/schemas/latest/dev-workspace-template.json +popd + +pushd "$work_dir" + curl -sSLO https://raw.githubusercontent.com/devfile/api/main/build/typescript-model/generate-swagger-json.py + curl -sSLO https://raw.githubusercontent.com/devfile/api/main/build/typescript-model/requirements.txt + echo "[INFO] Generating Swagger JSON..." + python3 generate-swagger-json.py + rm -rf "$work_dir"/java-models + mkdir -p "$work_dir"/java-models + mv swagger.json "$work_dir"/java-models/swagger.json.unprocessed + echo "[INFO] Generating Swagger JSON. It's in $work_dir/typescript-models/swagger.json.unprocessed" +popd + +[ ! -d "$work_dir"/gen ] && git clone https://github.com/kubernetes-client/gen.git "$work_dir"/gen || echo "kubernetes-client/gen is already cloned into $work_dir/gen" +echo "[INFO] Checking out gen to ${GEN_REVISION}" +pushd "$work_dir"/gen + git checkout ${GEN_REVISION} +popd + +echo "[INFO] preparing config files for gen" +# Remove the contents of custom objects spec so that we aren't bundling any extra objects +echo "{}" > "$work_dir"/gen/openapi/custom_objects_spec.json +cat java.xml > "$work_dir"/gen/openapi/java.xml +cat < "$work_dir"/config.sh +export KUBERNETES_BRANCH='' +export CLIENT_VERSION='5.0-SNAPSHOT' +export PACKAGE_NAME='io.github.che-incubator.devfile.kubernetes.client' +export HIDE_GENERATION_TIMESTAMP=true +EOF + +export OPENAPI_SKIP_FETCH_SPEC=true + +"$work_dir"/gen/openapi/java.sh "$work_dir"/java-models "$work_dir"/config.sh diff --git a/tools/java.xml b/tools/java.xml new file mode 100644 index 0000000..947775a --- /dev/null +++ b/tools/java.xml @@ -0,0 +1,127 @@ + + 4.0.0 + io.kubernetes + client-java + 1.0-SNAPSHOT + client-java + http://kubernetes.io + + + crd-mode + + + env.KUBERNETES_CRD_MODE + true + + + + + + org.openapitools + openapi-generator-maven-plugin + + + + generate + + + ${env.GENERATE_APIS} + false + + V1ListMeta=io.kubernetes.client.openapi.models.V1ListMeta, + V1ObjectMeta=io.kubernetes.client.openapi.models.V1ObjectMeta, + IntOrString=io.kubernetes.client.custom.IntOrString, + Quantity=io.kubernetes.client.custom.Quantity, + V1Patch=io.kubernetes.client.custom.V1Patch, + V1DeleteOptions=io.kubernetes.client.openapi.models.V1DeleteOptions, + V1Status=io.kubernetes.client.openapi.models.V1Status, + V1Scale=io.kubernetes.client.openapi.models.V1Scale, + + + io.kubernetes.client.openapi + + + + + + + + + + + + + org.openapitools + openapi-generator-maven-plugin + ${openapi-generator-version} + + + + generate + + + ${generator.spec.path} + Kubernetes Java Client/${generator.client.version} + java + kubernetes-client + client-java + true + false + false + + kubernetes-java-client + Java client for Kubernetes. + ${generator.client.version} + Apache V2 + true + ${generator.package.name}.models + ${generator.package.name}.apis + ${generator.package.name} + true + io.github.che-incubator + devfile-java-client + 1.0-SNAPSHOT + src/main/java + false + false + false + ${env.HIDE_GENERATION_TIMESTAMP} + java8 + false + ${env.LIBRARY} + false + + int-or-string=IntOrString,quantity=Quantity,patch=V1Patch + IntOrString=io.kubernetes.client.custom.IntOrString,Quantity=io.kubernetes.client.custom.Quantity,V1Patch=io.kubernetes.client.custom.V1Patch + ${generator.output.path} + + + + + + + + + + io.swagger + swagger-annotations + ${swagger-annotations-version} + + + org.openapitools + openapi-generator-maven-plugin + ${openapi-generator-version} + + + + 1.5.0 + 1.0.0 + + . + swagger.json + client + 1.0-snapshot + + \ No newline at end of file