From adcbfede115ed0a34dd4553cab3021a7d91861a5 Mon Sep 17 00:00:00 2001 From: tunahanertekin Date: Thu, 21 Mar 2024 07:29:54 +0000 Subject: [PATCH] build(ci): generate fabric8 models 0.1.0-alpha.32 for robot.roboscale.io v0.2.7-alpha.6.4, fleet.roboscale.io v0.1.6-alpha.18 and connection-hub.roboscale.io v0.1.8-alpha.4 --- crds/base/robot.roboscale.io_codeeditors.yaml | 2650 +++++++++++++++++ pom.xml | 2 +- .../roboscale/robot/v1alpha2/CodeEditor.java | 10 + .../robot/v1alpha2/CodeEditorSpec.java | 173 ++ .../robot/v1alpha2/CodeEditorStatus.java | 121 + .../v1alpha2/codeeditorspec/Container.java | 41 + .../codeeditorspec/ExternalVolumes.java | 494 +++ .../codeeditorspec/VolumeClaimTemplates.java | 42 + .../container/SecurityContext.java | 185 ++ .../container/VolumeMounts.java | 107 + .../securitycontext/Capabilities.java | 41 + .../securitycontext/SeLinuxOptions.java | 73 + .../securitycontext/SeccompProfile.java | 43 + .../securitycontext/WindowsOptions.java | 73 + .../externalvolumes/AwsElasticBlockStore.java | 74 + .../externalvolumes/AzureDisk.java | 107 + .../externalvolumes/AzureFile.java | 59 + .../externalvolumes/Cephfs.java | 106 + .../externalvolumes/Cinder.java | 74 + .../externalvolumes/ConfigMap.java | 73 + .../codeeditorspec/externalvolumes/Csi.java | 90 + .../externalvolumes/DownwardAPI.java | 41 + .../externalvolumes/EmptyDir.java | 42 + .../externalvolumes/Ephemeral.java | 28 + .../codeeditorspec/externalvolumes/Fc.java | 89 + .../externalvolumes/FlexVolume.java | 90 + .../externalvolumes/Flocker.java | 41 + .../externalvolumes/GcePersistentDisk.java | 74 + .../externalvolumes/GitRepo.java | 58 + .../externalvolumes/Glusterfs.java | 59 + .../externalvolumes/HostPath.java | 42 + .../codeeditorspec/externalvolumes/Iscsi.java | 188 ++ .../codeeditorspec/externalvolumes/Nfs.java | 59 + .../PersistentVolumeClaim.java | 42 + .../externalvolumes/PhotonPersistentDisk.java | 42 + .../externalvolumes/PortworxVolume.java | 58 + .../externalvolumes/Projected.java | 41 + .../externalvolumes/Quobyte.java | 107 + .../codeeditorspec/externalvolumes/Rbd.java | 139 + .../externalvolumes/ScaleIO.java | 172 ++ .../externalvolumes/Secret.java | 73 + .../externalvolumes/Storageos.java | 89 + .../externalvolumes/VsphereVolume.java | 74 + .../externalvolumes/cephfs/SecretRef.java | 25 + .../externalvolumes/cinder/SecretRef.java | 25 + .../externalvolumes/configmap/Items.java | 59 + .../csi/NodePublishSecretRef.java | 25 + .../externalvolumes/downwardapi/Items.java | 74 + .../downwardapi/items/FieldRef.java | 42 + .../downwardapi/items/ResourceFieldRef.java | 59 + .../ephemeral/VolumeClaimTemplate.java | 42 + .../volumeclaimtemplate/Metadata.java | 9 + .../ephemeral/volumeclaimtemplate/Spec.java | 137 + .../volumeclaimtemplate/spec/DataSource.java | 59 + .../spec/DataSourceRef.java | 75 + .../volumeclaimtemplate/spec/Resources.java | 59 + .../volumeclaimtemplate/spec/Selector.java | 41 + .../spec/resources/Claims.java | 26 + .../spec/selector/MatchExpressions.java | 59 + .../externalvolumes/flexvolume/SecretRef.java | 25 + .../externalvolumes/iscsi/SecretRef.java | 25 + .../externalvolumes/projected/Sources.java | 73 + .../projected/sources/ConfigMap.java | 57 + .../projected/sources/DownwardAPI.java | 25 + .../projected/sources/Secret.java | 57 + .../sources/ServiceAccountToken.java | 58 + .../projected/sources/configmap/Items.java | 59 + .../projected/sources/downwardapi/Items.java | 74 + .../sources/downwardapi/items/FieldRef.java | 42 + .../downwardapi/items/ResourceFieldRef.java | 59 + .../projected/sources/secret/Items.java | 59 + .../externalvolumes/rbd/SecretRef.java | 25 + .../externalvolumes/scaleio/SecretRef.java | 25 + .../externalvolumes/secret/Items.java | 59 + .../externalvolumes/storageos/SecretRef.java | 25 + .../volumeclaimtemplates/Metadata.java | 9 + .../volumeclaimtemplates/Spec.java | 137 + .../volumeclaimtemplates/spec/DataSource.java | 59 + .../spec/DataSourceRef.java | 75 + .../volumeclaimtemplates/spec/Resources.java | 59 + .../volumeclaimtemplates/spec/Selector.java | 41 + .../spec/resources/Claims.java | 26 + .../spec/selector/MatchExpressions.java | 59 + .../codeeditorstatus/DeploymentStatus.java | 57 + .../ExternalVolumeStatuses.java | 41 + .../codeeditorstatus/IngressStatus.java | 58 + .../codeeditorstatus/PvcStatuses.java | 41 + .../codeeditorstatus/ServiceStatus.java | 41 + .../deploymentstatus/ContainerStatuses.java | 158 + .../deploymentstatus/Resource.java | 58 + .../deploymentstatus/Status.java | 137 + .../containerstatuses/LastState.java | 57 + .../containerstatuses/State.java | 57 + .../containerstatuses/laststate/Running.java | 25 + .../laststate/Terminated.java | 122 + .../containerstatuses/laststate/Waiting.java | 41 + .../containerstatuses/state/Running.java | 25 + .../containerstatuses/state/Terminated.java | 122 + .../containerstatuses/state/Waiting.java | 41 + .../deploymentstatus/resource/Reference.java | 121 + .../deploymentstatus/status/Conditions.java | 107 + .../ingressstatus/Reference.java | 121 + .../pvcstatuses/Resource.java | 58 + .../codeeditorstatus/pvcstatuses/Status.java | 105 + .../pvcstatuses/resource/Reference.java | 121 + .../pvcstatuses/status/Conditions.java | 103 + .../servicestatus/Resource.java | 58 + .../servicestatus/resource/Reference.java | 121 + 108 files changed, 10309 insertions(+), 1 deletion(-) create mode 100644 crds/base/robot.roboscale.io_codeeditors.yaml create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/CodeEditor.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/CodeEditorSpec.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/CodeEditorStatus.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/Container.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/ExternalVolumes.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/VolumeClaimTemplates.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/SecurityContext.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/VolumeMounts.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/securitycontext/Capabilities.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/securitycontext/SeLinuxOptions.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/securitycontext/SeccompProfile.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/securitycontext/WindowsOptions.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/AwsElasticBlockStore.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/AzureDisk.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/AzureFile.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Cephfs.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Cinder.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ConfigMap.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Csi.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/DownwardAPI.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/EmptyDir.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Ephemeral.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Fc.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/FlexVolume.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Flocker.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/GcePersistentDisk.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/GitRepo.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Glusterfs.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/HostPath.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Iscsi.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Nfs.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/PersistentVolumeClaim.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/PhotonPersistentDisk.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/PortworxVolume.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Projected.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Quobyte.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Rbd.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ScaleIO.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Secret.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Storageos.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/VsphereVolume.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/cephfs/SecretRef.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/cinder/SecretRef.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/configmap/Items.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/csi/NodePublishSecretRef.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/downwardapi/Items.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/downwardapi/items/FieldRef.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/downwardapi/items/ResourceFieldRef.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/VolumeClaimTemplate.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/Metadata.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/Spec.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/DataSource.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/DataSourceRef.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/Resources.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/Selector.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/resources/Claims.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/selector/MatchExpressions.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/flexvolume/SecretRef.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/iscsi/SecretRef.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/Sources.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/ConfigMap.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/DownwardAPI.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/Secret.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/ServiceAccountToken.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/configmap/Items.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/downwardapi/Items.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/downwardapi/items/FieldRef.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/downwardapi/items/ResourceFieldRef.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/secret/Items.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/rbd/SecretRef.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/scaleio/SecretRef.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/secret/Items.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/storageos/SecretRef.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/Metadata.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/Spec.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/DataSource.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/DataSourceRef.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/Resources.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/Selector.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/resources/Claims.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/selector/MatchExpressions.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/DeploymentStatus.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/ExternalVolumeStatuses.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/IngressStatus.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/PvcStatuses.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/ServiceStatus.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/ContainerStatuses.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/Resource.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/Status.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/LastState.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/State.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/laststate/Running.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/laststate/Terminated.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/laststate/Waiting.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/state/Running.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/state/Terminated.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/state/Waiting.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/resource/Reference.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/status/Conditions.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/ingressstatus/Reference.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/pvcstatuses/Resource.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/pvcstatuses/Status.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/pvcstatuses/resource/Reference.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/pvcstatuses/status/Conditions.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/servicestatus/Resource.java create mode 100644 src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/servicestatus/resource/Reference.java diff --git a/crds/base/robot.roboscale.io_codeeditors.yaml b/crds/base/robot.roboscale.io_codeeditors.yaml new file mode 100644 index 0000000..4912695 --- /dev/null +++ b/crds/base/robot.roboscale.io_codeeditors.yaml @@ -0,0 +1,2650 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: codeeditors.robot.roboscale.io +spec: + group: robot.roboscale.io + names: + kind: CodeEditor + listKind: CodeEditorList + plural: codeeditors + singular: codeeditor + scope: Namespaced + versions: + - name: v1alpha2 + schema: + openAPIV3Schema: + description: CodeEditor is the Schema for the codeeditors 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: + type: object + spec: + description: Specification of the desired behavior of the CodeEditor. + properties: + container: + description: Configurational parameters for code editor container. + properties: + securityContext: + description: Security context of the code editor container. + properties: + allowPrivilegeEscalation: + description: 'AllowPrivilegeEscalation controls whether a + process can gain more privileges than its parent process. + This bool directly controls if the no_new_privs flag will + be set on the container process. AllowPrivilegeEscalation + is true always when the container is: 1) run as Privileged + 2) has CAP_SYS_ADMIN Note that this field cannot be set + when spec.os.name is windows.' + type: boolean + capabilities: + description: The capabilities to add/drop when running containers. + Defaults to the default set of capabilities granted by the + container runtime. Note that this field cannot be set when + spec.os.name is windows. + properties: + add: + description: Added capabilities + items: + description: Capability represent POSIX capabilities + type + type: string + type: array + drop: + description: Removed capabilities + items: + description: Capability represent POSIX capabilities + type + type: string + type: array + type: object + privileged: + description: Run container in privileged mode. Processes in + privileged containers are essentially equivalent to root + on the host. Defaults to false. Note that this field cannot + be set when spec.os.name is windows. + type: boolean + procMount: + description: procMount denotes the type of proc mount to use + for the containers. The default is DefaultProcMount which + uses the container runtime defaults for readonly paths and + masked paths. This requires the ProcMountType feature flag + to be enabled. Note that this field cannot be set when spec.os.name + is windows. + type: string + readOnlyRootFilesystem: + description: Whether this container has a read-only root filesystem. + Default is false. Note that this field cannot be set when + spec.os.name is windows. + type: boolean + runAsGroup: + description: The GID to run the entrypoint of the container + process. Uses runtime default if unset. May also be set + in PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext + takes precedence. Note that this field cannot be set when + spec.os.name is windows. + format: int64 + type: integer + runAsNonRoot: + description: Indicates that the container must run as a non-root + user. If true, the Kubelet will validate the image at runtime + to ensure that it does not run as UID 0 (root) and fail + to start the container if it does. If unset or false, no + such validation will be performed. May also be set in PodSecurityContext. If + set in both SecurityContext and PodSecurityContext, the + value specified in SecurityContext takes precedence. + type: boolean + runAsUser: + description: The UID to run the entrypoint of the container + process. Defaults to user specified in image metadata if + unspecified. May also be set in PodSecurityContext. If + set in both SecurityContext and PodSecurityContext, the + value specified in SecurityContext takes precedence. Note + that this field cannot be set when spec.os.name is windows. + format: int64 + type: integer + seLinuxOptions: + description: The SELinux context to be applied to the container. + If unspecified, the container runtime will allocate a random + SELinux context for each container. May also be set in + PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext + takes precedence. Note that this field cannot be set when + spec.os.name is windows. + properties: + level: + description: Level is SELinux level label that applies + to the container. + type: string + role: + description: Role is a SELinux role label that applies + to the container. + type: string + type: + description: Type is a SELinux type label that applies + to the container. + type: string + user: + description: User is a SELinux user label that applies + to the container. + type: string + type: object + seccompProfile: + description: The seccomp options to use by this container. + If seccomp options are provided at both the pod & container + level, the container options override the pod options. Note + that this field cannot be set when spec.os.name is windows. + properties: + localhostProfile: + description: localhostProfile indicates a profile defined + in a file on the node should be used. The profile must + be preconfigured on the node to work. Must be a descending + path, relative to the kubelet's configured seccomp profile + location. Must only be set if type is "Localhost". + type: string + type: + description: "type indicates which kind of seccomp profile + will be applied. Valid options are: \n Localhost - a + profile defined in a file on the node should be used. + RuntimeDefault - the container runtime default profile + should be used. Unconfined - no profile should be applied." + type: string + required: + - type + type: object + windowsOptions: + description: The Windows specific settings applied to all + containers. If unspecified, the options from the PodSecurityContext + will be used. If set in both SecurityContext and PodSecurityContext, + the value specified in SecurityContext takes precedence. + Note that this field cannot be set when spec.os.name is + linux. + properties: + gmsaCredentialSpec: + description: GMSACredentialSpec is where the GMSA admission + webhook (https://github.com/kubernetes-sigs/windows-gmsa) + inlines the contents of the GMSA credential spec named + by the GMSACredentialSpecName field. + type: string + gmsaCredentialSpecName: + description: GMSACredentialSpecName is the name of the + GMSA credential spec to use. + type: string + hostProcess: + description: HostProcess determines if a container should + be run as a 'Host Process' container. This field is + alpha-level and will only be honored by components that + enable the WindowsHostProcessContainers feature flag. + Setting this field without the feature flag will result + in errors when validating the Pod. All of a Pod's containers + must have the same effective HostProcess value (it is + not allowed to have a mix of HostProcess containers + and non-HostProcess containers). In addition, if HostProcess + is true then HostNetwork must also be set to true. + type: boolean + runAsUserName: + description: The UserName in Windows to run the entrypoint + of the container process. Defaults to the user specified + in image metadata if unspecified. May also be set in + PodSecurityContext. If set in both SecurityContext and + PodSecurityContext, the value specified in SecurityContext + takes precedence. + type: string + type: object + type: object + volumeMounts: + description: Mounted volumes of the code editor container. + items: + description: VolumeMount describes a mounting of a Volume within + a container. + properties: + mountPath: + description: Path within the container at which the volume + should be mounted. Must not contain ':'. + type: string + mountPropagation: + description: mountPropagation determines how mounts are + propagated from the host to container and the other way + around. When not set, MountPropagationNone is used. This + field is beta in 1.10. + type: string + name: + description: This must match the Name of a Volume. + type: string + readOnly: + description: Mounted read-only if true, read-write otherwise + (false or unspecified). Defaults to false. + type: boolean + subPath: + description: Path within the volume from which the container's + volume should be mounted. Defaults to "" (volume's root). + type: string + subPathExpr: + description: Expanded path within the volume from which + the container's volume should be mounted. Behaves similarly + to SubPath but environment variable references $(VAR_NAME) + are expanded using the container's environment. Defaults + to "" (volume's root). SubPathExpr and SubPath are mutually + exclusive. + type: string + required: + - mountPath + - name + type: object + type: array + type: object + externalVolumes: + description: External volumes. + items: + description: Volume represents a named volume in a pod that may + be accessed by any container in the pod. + properties: + awsElasticBlockStore: + description: 'awsElasticBlockStore represents an AWS Disk resource + that is attached to a kubelet''s host machine and then exposed + to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' + properties: + fsType: + description: 'fsType is the filesystem type of the volume + that you want to mount. Tip: Ensure that the filesystem + type is supported by the host operating system. Examples: + "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" + if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + TODO: how do we prevent errors in the filesystem from + compromising the machine' + type: string + partition: + description: 'partition is the partition in the volume that + you want to mount. If omitted, the default is to mount + by volume name. Examples: For volume /dev/sda1, you specify + the partition as "1". Similarly, the volume partition + for /dev/sda is "0" (or you can leave the property empty).' + format: int32 + type: integer + readOnly: + description: 'readOnly value true will force the readOnly + setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' + type: boolean + volumeID: + description: 'volumeID is unique ID of the persistent disk + resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' + type: string + required: + - volumeID + type: object + azureDisk: + description: azureDisk represents an Azure Data Disk mount on + the host and bind mount to the pod. + properties: + cachingMode: + description: 'cachingMode is the Host Caching mode: None, + Read Only, Read Write.' + type: string + diskName: + description: diskName is the Name of the data disk in the + blob storage + type: string + diskURI: + description: diskURI is the URI of data disk in the blob + storage + type: string + fsType: + description: fsType is Filesystem type to mount. Must be + a filesystem type supported by the host operating system. + Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" + if unspecified. + type: string + kind: + description: 'kind expected values are Shared: multiple + blob disks per storage account Dedicated: single blob + disk per storage account Managed: azure managed data + disk (only in managed availability set). defaults to shared' + type: string + readOnly: + description: readOnly Defaults to false (read/write). ReadOnly + here will force the ReadOnly setting in VolumeMounts. + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + description: azureFile represents an Azure File Service mount + on the host and bind mount to the pod. + properties: + readOnly: + description: readOnly defaults to false (read/write). ReadOnly + here will force the ReadOnly setting in VolumeMounts. + type: boolean + secretName: + description: secretName is the name of secret that contains + Azure Storage Account Name and Key + type: string + shareName: + description: shareName is the azure share Name + type: string + required: + - secretName + - shareName + type: object + cephfs: + description: cephFS represents a Ceph FS mount on the host that + shares a pod's lifetime + properties: + monitors: + description: 'monitors is Required: Monitors is a collection + of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' + items: + type: string + type: array + path: + description: 'path is Optional: Used as the mounted root, + rather than the full Ceph tree, default is /' + type: string + readOnly: + description: 'readOnly is Optional: Defaults to false (read/write). + ReadOnly here will force the ReadOnly setting in VolumeMounts. + More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' + type: boolean + secretFile: + description: 'secretFile is Optional: SecretFile is the + path to key ring for User, default is /etc/ceph/user.secret + More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' + type: string + secretRef: + description: 'secretRef is Optional: SecretRef is reference + to the authentication secret for User, default is empty. + More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + type: object + x-kubernetes-map-type: atomic + user: + description: 'user is optional: User is the rados user name, + default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' + type: string + required: + - monitors + type: object + cinder: + description: 'cinder represents a cinder volume attached and + mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' + properties: + fsType: + description: 'fsType is the filesystem type to mount. Must + be a filesystem type supported by the host operating system. + Examples: "ext4", "xfs", "ntfs". Implicitly inferred to + be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' + type: string + readOnly: + description: 'readOnly defaults to false (read/write). ReadOnly + here will force the ReadOnly setting in VolumeMounts. + More info: https://examples.k8s.io/mysql-cinder-pd/README.md' + type: boolean + secretRef: + description: 'secretRef is optional: points to a secret + object containing parameters used to connect to OpenStack.' + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + type: object + x-kubernetes-map-type: atomic + volumeID: + description: 'volumeID used to identify the volume in cinder. + More info: https://examples.k8s.io/mysql-cinder-pd/README.md' + type: string + required: + - volumeID + type: object + configMap: + description: configMap represents a configMap that should populate + this volume + properties: + defaultMode: + description: 'defaultMode is optional: mode bits used to + set permissions on created files by default. Must be an + octal value between 0000 and 0777 or a decimal value between + 0 and 511. YAML accepts both octal and decimal values, + JSON requires decimal values for mode bits. Defaults to + 0644. Directories within the path are not affected by + this setting. This might be in conflict with other options + that affect the file mode, like fsGroup, and the result + can be other mode bits set.' + format: int32 + type: integer + items: + description: items if unspecified, each key-value pair in + the Data field of the referenced ConfigMap will be projected + into the volume as a file whose name is the key and content + is the value. If specified, the listed keys will be projected + into the specified paths, and unlisted keys will not be + present. If a key is specified which is not present in + the ConfigMap, the volume setup will error unless it is + marked optional. Paths must be relative and may not contain + the '..' path or start with '..'. + items: + description: Maps a string key to a path within a volume. + properties: + key: + description: key is the key to project. + type: string + mode: + description: 'mode is Optional: mode bits used to + set permissions on this file. Must be an octal value + between 0000 and 0777 or a decimal value between + 0 and 511. YAML accepts both octal and decimal values, + JSON requires decimal values for mode bits. If not + specified, the volume defaultMode will be used. + This might be in conflict with other options that + affect the file mode, like fsGroup, and the result + can be other mode bits set.' + format: int32 + type: integer + path: + description: path is the relative path of the file + to map the key to. May not be an absolute path. + May not contain the path element '..'. May not start + with the string '..'. + type: string + required: + - key + - path + type: object + type: array + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + optional: + description: optional specify whether the ConfigMap or its + keys must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + csi: + description: csi (Container Storage Interface) represents ephemeral + storage that is handled by certain external CSI drivers (Beta + feature). + properties: + driver: + description: driver is the name of the CSI driver that handles + this volume. Consult with your admin for the correct name + as registered in the cluster. + type: string + fsType: + description: fsType to mount. Ex. "ext4", "xfs", "ntfs". + If not provided, the empty value is passed to the associated + CSI driver which will determine the default filesystem + to apply. + type: string + nodePublishSecretRef: + description: nodePublishSecretRef is a reference to the + secret object containing sensitive information to pass + to the CSI driver to complete the CSI NodePublishVolume + and NodeUnpublishVolume calls. This field is optional, + and may be empty if no secret is required. If the secret + object contains more than one secret, all secret references + are passed. + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + type: object + x-kubernetes-map-type: atomic + readOnly: + description: readOnly specifies a read-only configuration + for the volume. Defaults to false (read/write). + type: boolean + volumeAttributes: + additionalProperties: + type: string + description: volumeAttributes stores driver-specific properties + that are passed to the CSI driver. Consult your driver's + documentation for supported values. + type: object + required: + - driver + type: object + downwardAPI: + description: downwardAPI represents downward API about the pod + that should populate this volume + properties: + defaultMode: + description: 'Optional: mode bits to use on created files + by default. Must be a Optional: mode bits used to set + permissions on created files by default. Must be an octal + value between 0000 and 0777 or a decimal value between + 0 and 511. YAML accepts both octal and decimal values, + JSON requires decimal values for mode bits. Defaults to + 0644. Directories within the path are not affected by + this setting. This might be in conflict with other options + that affect the file mode, like fsGroup, and the result + can be other mode bits set.' + format: int32 + type: integer + items: + description: Items is a list of downward API volume file + items: + description: DownwardAPIVolumeFile represents information + to create the file containing the pod field + properties: + fieldRef: + description: 'Required: Selects a field of the pod: + only annotations, labels, name and namespace are + supported.' + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + mode: + description: 'Optional: mode bits used to set permissions + on this file, must be an octal value between 0000 + and 0777 or a decimal value between 0 and 511. YAML + accepts both octal and decimal values, JSON requires + decimal values for mode bits. If not specified, + the volume defaultMode will be used. This might + be in conflict with other options that affect the + file mode, like fsGroup, and the result can be other + mode bits set.' + format: int32 + type: integer + path: + description: 'Required: Path is the relative path + name of the file to be created. Must not be absolute + or contain the ''..'' path. Must be utf-8 encoded. + The first item of the relative path must not start + with ''..''' + type: string + resourceFieldRef: + description: 'Selects a resource of the container: + only resources limits and requests (limits.cpu, + limits.memory, requests.cpu and requests.memory) + are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + required: + - path + type: object + type: array + type: object + emptyDir: + description: 'emptyDir represents a temporary directory that + shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' + properties: + medium: + description: 'medium represents what type of storage medium + should back this directory. The default is "" which means + to use the node''s default medium. Must be an empty string + (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + description: 'sizeLimit is the total amount of local storage + required for this EmptyDir volume. The size limit is also + applicable for memory medium. The maximum usage on memory + medium EmptyDir would be the minimum value between the + SizeLimit specified here and the sum of memory limits + of all containers in a pod. The default is nil which means + that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + ephemeral: + description: "ephemeral represents a volume that is handled + by a cluster storage driver. The volume's lifecycle is tied + to the pod that defines it - it will be created before the + pod starts, and deleted when the pod is removed. \n Use this + if: a) the volume is only needed while the pod runs, b) features + of normal volumes like restoring from snapshot or capacity + tracking are needed, c) the storage driver is specified through + a storage class, and d) the storage driver supports dynamic + volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource + for more information on the connection between this volume + type and PersistentVolumeClaim). \n Use PersistentVolumeClaim + or one of the vendor-specific APIs for volumes that persist + for longer than the lifecycle of an individual pod. \n Use + CSI for light-weight local ephemeral volumes if the CSI driver + is meant to be used that way - see the documentation of the + driver for more information. \n A pod can use both types of + ephemeral volumes and persistent volumes at the same time." + properties: + volumeClaimTemplate: + description: "Will be used to create a stand-alone PVC to + provision the volume. The pod in which this EphemeralVolumeSource + is embedded will be the owner of the PVC, i.e. the PVC + will be deleted together with the pod. The name of the + PVC will be `-` where `` is the name from the `PodSpec.Volumes` array entry. + Pod validation will reject the pod if the concatenated + name is not valid for a PVC (for example, too long). \n + An existing PVC with that name that is not owned by the + pod will *not* be used for the pod to avoid using an unrelated + volume by mistake. Starting the pod is then blocked until + the unrelated PVC is removed. If such a pre-created PVC + is meant to be used by the pod, the PVC has to updated + with an owner reference to the pod once the pod exists. + Normally this should not be necessary, but it may be useful + when manually reconstructing a broken cluster. \n This + field is read-only and no changes will be made by Kubernetes + to the PVC after it has been created. \n Required, must + not be nil." + properties: + metadata: + description: May contain labels and annotations that + will be copied into the PVC when creating it. No other + fields are allowed and will be rejected during validation. + type: object + spec: + description: The specification for the PersistentVolumeClaim. + The entire content is copied unchanged into the PVC + that gets created from this template. The same fields + as in a PersistentVolumeClaim are also valid here. + properties: + accessModes: + description: 'accessModes contains the desired access + modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + items: + type: string + type: array + dataSource: + description: 'dataSource field can be used to specify + either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) + * An existing PVC (PersistentVolumeClaim) If the + provisioner or an external controller can support + the specified data source, it will create a new + volume based on the contents of the specified + data source. When the AnyVolumeDataSource feature + gate is enabled, dataSource contents will be copied + to dataSourceRef, and dataSourceRef contents will + be copied to dataSource when dataSourceRef.namespace + is not specified. If the namespace is specified, + then dataSourceRef will not be copied to dataSource.' + properties: + apiGroup: + description: APIGroup is the group for the resource + being referenced. If APIGroup is not specified, + the specified Kind must be in the core API + group. For any other third-party types, APIGroup + is required. + type: string + kind: + description: Kind is the type of resource being + referenced + type: string + name: + description: Name is the name of resource being + referenced + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + description: 'dataSourceRef specifies the object + from which to populate the volume with data, if + a non-empty volume is desired. This may be any + object from a non-empty API group (non core object) + or a PersistentVolumeClaim object. When this field + is specified, volume binding will only succeed + if the type of the specified object matches some + installed volume populator or dynamic provisioner. + This field will replace the functionality of the + dataSource field and as such if both fields are + non-empty, they must have the same value. For + backwards compatibility, when namespace isn''t + specified in dataSourceRef, both fields (dataSource + and dataSourceRef) will be set to the same value + automatically if one of them is empty and the + other is non-empty. When namespace is specified + in dataSourceRef, dataSource isn''t set to the + same value and must be empty. There are three + important differences between dataSource and dataSourceRef: + * While dataSource only allows two specific types + of objects, dataSourceRef allows any non-core + object, as well as PersistentVolumeClaim objects. + * While dataSource ignores disallowed values (dropping + them), dataSourceRef preserves all values, and + generates an error if a disallowed value is specified. + * While dataSource only allows local objects, + dataSourceRef allows objects in any namespaces. + (Beta) Using this field requires the AnyVolumeDataSource + feature gate to be enabled. (Alpha) Using the + namespace field of dataSourceRef requires the + CrossNamespaceVolumeDataSource feature gate to + be enabled.' + properties: + apiGroup: + description: APIGroup is the group for the resource + being referenced. If APIGroup is not specified, + the specified Kind must be in the core API + group. For any other third-party types, APIGroup + is required. + type: string + kind: + description: Kind is the type of resource being + referenced + type: string + name: + description: Name is the name of resource being + referenced + type: string + namespace: + description: Namespace is the namespace of resource + being referenced Note that when a namespace + is specified, a gateway.networking.k8s.io/ReferenceGrant + object is required in the referent namespace + to allow that namespace's owner to accept + the reference. See the ReferenceGrant documentation + for details. (Alpha) This field requires the + CrossNamespaceVolumeDataSource feature gate + to be enabled. + type: string + required: + - kind + - name + type: object + resources: + description: 'resources represents the minimum resources + the volume should have. If RecoverVolumeExpansionFailure + feature is enabled users are allowed to specify + resource requirements that are lower than previous + value but must still be higher than capacity recorded + in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' + properties: + claims: + description: "Claims lists the names of resources, + defined in spec.resourceClaims, that are used + by this container. \n This is an alpha field + and requires enabling the DynamicResourceAllocation + feature gate. \n This field is immutable." + items: + description: ResourceClaim references one + entry in PodSpec.ResourceClaims. + properties: + name: + description: Name must match the name + of one entry in pod.spec.resourceClaims + of the Pod where this field is used. + It makes that resource available inside + a container. + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount + of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum + amount of compute resources required. If Requests + is omitted for a container, it defaults to + Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: + https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + selector: + description: selector is a label query over volumes + to consider for binding. + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. + items: + description: A label selector requirement + is a selector that contains values, a key, + and an operator that relates the key and + values. + properties: + key: + description: key is the label key that + the selector applies to. + type: string + operator: + description: operator represents a key's + relationship to a set of values. Valid + operators are In, NotIn, Exists and + DoesNotExist. + type: string + values: + description: values is an array of string + values. If the operator is In or NotIn, + the values array must be non-empty. + If the operator is Exists or DoesNotExist, + the values array must be empty. This + array is replaced during a strategic + merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, + whose key field is "key", the operator is + "In", and the values array contains only "value". + The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + description: 'storageClassName is the name of the + StorageClass required by the claim. More info: + https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' + type: string + volumeMode: + description: volumeMode defines what type of volume + is required by the claim. Value of Filesystem + is implied when not included in claim spec. + type: string + volumeName: + description: volumeName is the binding reference + to the PersistentVolume backing this claim. + type: string + type: object + required: + - spec + type: object + type: object + fc: + description: fc represents a Fibre Channel resource that is + attached to a kubelet's host machine and then exposed to the + pod. + properties: + fsType: + description: 'fsType is the filesystem type to mount. Must + be a filesystem type supported by the host operating system. + Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" + if unspecified. TODO: how do we prevent errors in the + filesystem from compromising the machine' + type: string + lun: + description: 'lun is Optional: FC target lun number' + format: int32 + type: integer + readOnly: + description: 'readOnly is Optional: Defaults to false (read/write). + ReadOnly here will force the ReadOnly setting in VolumeMounts.' + type: boolean + targetWWNs: + description: 'targetWWNs is Optional: FC target worldwide + names (WWNs)' + items: + type: string + type: array + wwids: + description: 'wwids Optional: FC volume world wide identifiers + (wwids) Either wwids or combination of targetWWNs and + lun must be set, but not both simultaneously.' + items: + type: string + type: array + type: object + flexVolume: + description: flexVolume represents a generic volume resource + that is provisioned/attached using an exec based plugin. + properties: + driver: + description: driver is the name of the driver to use for + this volume. + type: string + fsType: + description: fsType is the filesystem type to mount. Must + be a filesystem type supported by the host operating system. + Ex. "ext4", "xfs", "ntfs". The default filesystem depends + on FlexVolume script. + type: string + options: + additionalProperties: + type: string + description: 'options is Optional: this field holds extra + command options if any.' + type: object + readOnly: + description: 'readOnly is Optional: defaults to false (read/write). + ReadOnly here will force the ReadOnly setting in VolumeMounts.' + type: boolean + secretRef: + description: 'secretRef is Optional: secretRef is reference + to the secret object containing sensitive information + to pass to the plugin scripts. This may be empty if no + secret object is specified. If the secret object contains + more than one secret, all secrets are passed to the plugin + scripts.' + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + type: object + x-kubernetes-map-type: atomic + required: + - driver + type: object + flocker: + description: flocker represents a Flocker volume attached to + a kubelet's host machine. This depends on the Flocker control + service being running + properties: + datasetName: + description: datasetName is Name of the dataset stored as + metadata -> name on the dataset for Flocker should be + considered as deprecated + type: string + datasetUUID: + description: datasetUUID is the UUID of the dataset. This + is unique identifier of a Flocker dataset + type: string + type: object + gcePersistentDisk: + description: 'gcePersistentDisk represents a GCE Disk resource + that is attached to a kubelet''s host machine and then exposed + to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' + properties: + fsType: + description: 'fsType is filesystem type of the volume that + you want to mount. Tip: Ensure that the filesystem type + is supported by the host operating system. Examples: "ext4", + "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + TODO: how do we prevent errors in the filesystem from + compromising the machine' + type: string + partition: + description: 'partition is the partition in the volume that + you want to mount. If omitted, the default is to mount + by volume name. Examples: For volume /dev/sda1, you specify + the partition as "1". Similarly, the volume partition + for /dev/sda is "0" (or you can leave the property empty). + More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' + format: int32 + type: integer + pdName: + description: 'pdName is unique name of the PD resource in + GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' + type: string + readOnly: + description: 'readOnly here will force the ReadOnly setting + in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' + type: boolean + required: + - pdName + type: object + gitRepo: + description: 'gitRepo represents a git repository at a particular + revision. DEPRECATED: GitRepo is deprecated. To provision + a container with a git repo, mount an EmptyDir into an InitContainer + that clones the repo using git, then mount the EmptyDir into + the Pod''s container.' + properties: + directory: + description: directory is the target directory name. Must + not contain or start with '..'. If '.' is supplied, the + volume directory will be the git repository. Otherwise, + if specified, the volume will contain the git repository + in the subdirectory with the given name. + type: string + repository: + description: repository is the URL + type: string + revision: + description: revision is the commit hash for the specified + revision. + type: string + required: + - repository + type: object + glusterfs: + description: 'glusterfs represents a Glusterfs mount on the + host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md' + properties: + endpoints: + description: 'endpoints is the endpoint name that details + Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' + type: string + path: + description: 'path is the Glusterfs volume path. More info: + https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' + type: string + readOnly: + description: 'readOnly here will force the Glusterfs volume + to be mounted with read-only permissions. Defaults to + false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' + type: boolean + required: + - endpoints + - path + type: object + hostPath: + description: 'hostPath represents a pre-existing file or directory + on the host machine that is directly exposed to the container. + This is generally used for system agents or other privileged + things that are allowed to see the host machine. Most containers + will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + --- TODO(jonesdl) We need to restrict who can use host directory + mounts and who can/can not mount host directories as read/write.' + properties: + path: + description: 'path of the directory on the host. If the + path is a symlink, it will follow the link to the real + path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' + type: string + type: + description: 'type for HostPath Volume Defaults to "" More + info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' + type: string + required: + - path + type: object + iscsi: + description: 'iscsi represents an ISCSI Disk resource that is + attached to a kubelet''s host machine and then exposed to + the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md' + properties: + chapAuthDiscovery: + description: chapAuthDiscovery defines whether support iSCSI + Discovery CHAP authentication + type: boolean + chapAuthSession: + description: chapAuthSession defines whether support iSCSI + Session CHAP authentication + type: boolean + fsType: + description: 'fsType is the filesystem type of the volume + that you want to mount. Tip: Ensure that the filesystem + type is supported by the host operating system. Examples: + "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" + if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi + TODO: how do we prevent errors in the filesystem from + compromising the machine' + type: string + initiatorName: + description: initiatorName is the custom iSCSI Initiator + Name. If initiatorName is specified with iscsiInterface + simultaneously, new iSCSI interface : will be created for the connection. + type: string + iqn: + description: iqn is the target iSCSI Qualified Name. + type: string + iscsiInterface: + description: iscsiInterface is the interface Name that uses + an iSCSI transport. Defaults to 'default' (tcp). + type: string + lun: + description: lun represents iSCSI Target Lun number. + format: int32 + type: integer + portals: + description: portals is the iSCSI Target Portal List. The + portal is either an IP or ip_addr:port if the port is + other than default (typically TCP ports 860 and 3260). + items: + type: string + type: array + readOnly: + description: readOnly here will force the ReadOnly setting + in VolumeMounts. Defaults to false. + type: boolean + secretRef: + description: secretRef is the CHAP Secret for iSCSI target + and initiator authentication + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + type: object + x-kubernetes-map-type: atomic + targetPortal: + description: targetPortal is iSCSI Target Portal. The Portal + is either an IP or ip_addr:port if the port is other than + default (typically TCP ports 860 and 3260). + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + description: 'name of the volume. Must be a DNS_LABEL and unique + within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + nfs: + description: 'nfs represents an NFS mount on the host that shares + a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' + properties: + path: + description: 'path that is exported by the NFS server. More + info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' + type: string + readOnly: + description: 'readOnly here will force the NFS export to + be mounted with read-only permissions. Defaults to false. + More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' + type: boolean + server: + description: 'server is the hostname or IP address of the + NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + description: 'persistentVolumeClaimVolumeSource represents a + reference to a PersistentVolumeClaim in the same namespace. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' + properties: + claimName: + description: 'claimName is the name of a PersistentVolumeClaim + in the same namespace as the pod using this volume. More + info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' + type: string + readOnly: + description: readOnly Will force the ReadOnly setting in + VolumeMounts. Default false. + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + description: photonPersistentDisk represents a PhotonController + persistent disk attached and mounted on kubelets host machine + properties: + fsType: + description: fsType is the filesystem type to mount. Must + be a filesystem type supported by the host operating system. + Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" + if unspecified. + type: string + pdID: + description: pdID is the ID that identifies Photon Controller + persistent disk + type: string + required: + - pdID + type: object + portworxVolume: + description: portworxVolume represents a portworx volume attached + and mounted on kubelets host machine + properties: + fsType: + description: fSType represents the filesystem type to mount + Must be a filesystem type supported by the host operating + system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" + if unspecified. + type: string + readOnly: + description: readOnly defaults to false (read/write). ReadOnly + here will force the ReadOnly setting in VolumeMounts. + type: boolean + volumeID: + description: volumeID uniquely identifies a Portworx volume + type: string + required: + - volumeID + type: object + projected: + description: projected items for all in one resources secrets, + configmaps, and downward API + properties: + defaultMode: + description: defaultMode are the mode bits used to set permissions + on created files by default. Must be an octal value between + 0000 and 0777 or a decimal value between 0 and 511. YAML + accepts both octal and decimal values, JSON requires decimal + values for mode bits. Directories within the path are + not affected by this setting. This might be in conflict + with other options that affect the file mode, like fsGroup, + and the result can be other mode bits set. + format: int32 + type: integer + sources: + description: sources is the list of volume projections + items: + description: Projection that may be projected along with + other supported volume types + properties: + configMap: + description: configMap information about the configMap + data to project + properties: + items: + description: items if unspecified, each key-value + pair in the Data field of the referenced ConfigMap + will be projected into the volume as a file + whose name is the key and content is the value. + If specified, the listed keys will be projected + into the specified paths, and unlisted keys + will not be present. If a key is specified which + is not present in the ConfigMap, the volume + setup will error unless it is marked optional. + Paths must be relative and may not contain the + '..' path or start with '..'. + items: + description: Maps a string key to a path within + a volume. + properties: + key: + description: key is the key to project. + type: string + mode: + description: 'mode is Optional: mode bits + used to set permissions on this file. + Must be an octal value between 0000 and + 0777 or a decimal value between 0 and + 511. YAML accepts both octal and decimal + values, JSON requires decimal values for + mode bits. If not specified, the volume + defaultMode will be used. This might be + in conflict with other options that affect + the file mode, like fsGroup, and the result + can be other mode bits set.' + format: int32 + type: integer + path: + description: path is the relative path of + the file to map the key to. May not be + an absolute path. May not contain the + path element '..'. May not start with + the string '..'. + type: string + required: + - key + - path + type: object + type: array + name: + description: 'Name of the referent. More info: + https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: optional specify whether the ConfigMap + or its keys must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + downwardAPI: + description: downwardAPI information about the downwardAPI + data to project + properties: + items: + description: Items is a list of DownwardAPIVolume + file + items: + description: DownwardAPIVolumeFile represents + information to create the file containing + the pod field + properties: + fieldRef: + description: 'Required: Selects a field + of the pod: only annotations, labels, + name and namespace are supported.' + properties: + apiVersion: + description: Version of the schema the + FieldPath is written in terms of, + defaults to "v1". + type: string + fieldPath: + description: Path of the field to select + in the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + mode: + description: 'Optional: mode bits used to + set permissions on this file, must be + an octal value between 0000 and 0777 or + a decimal value between 0 and 511. YAML + accepts both octal and decimal values, + JSON requires decimal values for mode + bits. If not specified, the volume defaultMode + will be used. This might be in conflict + with other options that affect the file + mode, like fsGroup, and the result can + be other mode bits set.' + format: int32 + type: integer + path: + description: 'Required: Path is the relative + path name of the file to be created. Must + not be absolute or contain the ''..'' + path. Must be utf-8 encoded. The first + item of the relative path must not start + with ''..''' + type: string + resourceFieldRef: + description: 'Selects a resource of the + container: only resources limits and requests + (limits.cpu, limits.memory, requests.cpu + and requests.memory) are currently supported.' + properties: + containerName: + description: 'Container name: required + for volumes, optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format + of the exposed resources, defaults + to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to + select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + required: + - path + type: object + type: array + type: object + secret: + description: secret information about the secret data + to project + properties: + items: + description: items if unspecified, each key-value + pair in the Data field of the referenced Secret + will be projected into the volume as a file + whose name is the key and content is the value. + If specified, the listed keys will be projected + into the specified paths, and unlisted keys + will not be present. If a key is specified which + is not present in the Secret, the volume setup + will error unless it is marked optional. Paths + must be relative and may not contain the '..' + path or start with '..'. + items: + description: Maps a string key to a path within + a volume. + properties: + key: + description: key is the key to project. + type: string + mode: + description: 'mode is Optional: mode bits + used to set permissions on this file. + Must be an octal value between 0000 and + 0777 or a decimal value between 0 and + 511. YAML accepts both octal and decimal + values, JSON requires decimal values for + mode bits. If not specified, the volume + defaultMode will be used. This might be + in conflict with other options that affect + the file mode, like fsGroup, and the result + can be other mode bits set.' + format: int32 + type: integer + path: + description: path is the relative path of + the file to map the key to. May not be + an absolute path. May not contain the + path element '..'. May not start with + the string '..'. + type: string + required: + - key + - path + type: object + type: array + name: + description: 'Name of the referent. More info: + https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, + uid?' + type: string + optional: + description: optional field specify whether the + Secret or its key must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + serviceAccountToken: + description: serviceAccountToken is information about + the serviceAccountToken data to project + properties: + audience: + description: audience is the intended audience + of the token. A recipient of a token must identify + itself with an identifier specified in the audience + of the token, and otherwise should reject the + token. The audience defaults to the identifier + of the apiserver. + type: string + expirationSeconds: + description: expirationSeconds is the requested + duration of validity of the service account + token. As the token approaches expiration, the + kubelet volume plugin will proactively rotate + the service account token. The kubelet will + start trying to rotate the token if the token + is older than 80 percent of its time to live + or if the token is older than 24 hours.Defaults + to 1 hour and must be at least 10 minutes. + format: int64 + type: integer + path: + description: path is the path relative to the + mount point of the file to project the token + into. + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + description: quobyte represents a Quobyte mount on the host + that shares a pod's lifetime + properties: + group: + description: group to map volume access to Default is no + group + type: string + readOnly: + description: readOnly here will force the Quobyte volume + to be mounted with read-only permissions. Defaults to + false. + type: boolean + registry: + description: registry represents a single or multiple Quobyte + Registry services specified as a string as host:port pair + (multiple entries are separated with commas) which acts + as the central registry for volumes + type: string + tenant: + description: tenant owning the given Quobyte volume in the + Backend Used with dynamically provisioned Quobyte volumes, + value is set by the plugin + type: string + user: + description: user to map volume access to Defaults to serivceaccount + user + type: string + volume: + description: volume is a string that references an already + created Quobyte volume by name. + type: string + required: + - registry + - volume + type: object + rbd: + description: 'rbd represents a Rados Block Device mount on the + host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md' + properties: + fsType: + description: 'fsType is the filesystem type of the volume + that you want to mount. Tip: Ensure that the filesystem + type is supported by the host operating system. Examples: + "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" + if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd + TODO: how do we prevent errors in the filesystem from + compromising the machine' + type: string + image: + description: 'image is the rados image name. More info: + https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' + type: string + keyring: + description: 'keyring is the path to key ring for RBDUser. + Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' + type: string + monitors: + description: 'monitors is a collection of Ceph monitors. + More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' + items: + type: string + type: array + pool: + description: 'pool is the rados pool name. Default is rbd. + More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' + type: string + readOnly: + description: 'readOnly here will force the ReadOnly setting + in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' + type: boolean + secretRef: + description: 'secretRef is name of the authentication secret + for RBDUser. If provided overrides keyring. Default is + nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + type: object + x-kubernetes-map-type: atomic + user: + description: 'user is the rados user name. Default is admin. + More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' + type: string + required: + - image + - monitors + type: object + scaleIO: + description: scaleIO represents a ScaleIO persistent volume + attached and mounted on Kubernetes nodes. + properties: + fsType: + description: fsType is the filesystem type to mount. Must + be a filesystem type supported by the host operating system. + Ex. "ext4", "xfs", "ntfs". Default is "xfs". + type: string + gateway: + description: gateway is the host address of the ScaleIO + API Gateway. + type: string + protectionDomain: + description: protectionDomain is the name of the ScaleIO + Protection Domain for the configured storage. + type: string + readOnly: + description: readOnly Defaults to false (read/write). ReadOnly + here will force the ReadOnly setting in VolumeMounts. + type: boolean + secretRef: + description: secretRef references to the secret for ScaleIO + user and other sensitive information. If this is not provided, + Login operation will fail. + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + type: object + x-kubernetes-map-type: atomic + sslEnabled: + description: sslEnabled Flag enable/disable SSL communication + with Gateway, default false + type: boolean + storageMode: + description: storageMode indicates whether the storage for + a volume should be ThickProvisioned or ThinProvisioned. + Default is ThinProvisioned. + type: string + storagePool: + description: storagePool is the ScaleIO Storage Pool associated + with the protection domain. + type: string + system: + description: system is the name of the storage system as + configured in ScaleIO. + type: string + volumeName: + description: volumeName is the name of a volume already + created in the ScaleIO system that is associated with + this volume source. + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + description: 'secret represents a secret that should populate + this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' + properties: + defaultMode: + description: 'defaultMode is Optional: mode bits used to + set permissions on created files by default. Must be an + octal value between 0000 and 0777 or a decimal value between + 0 and 511. YAML accepts both octal and decimal values, + JSON requires decimal values for mode bits. Defaults to + 0644. Directories within the path are not affected by + this setting. This might be in conflict with other options + that affect the file mode, like fsGroup, and the result + can be other mode bits set.' + format: int32 + type: integer + items: + description: items If unspecified, each key-value pair in + the Data field of the referenced Secret will be projected + into the volume as a file whose name is the key and content + is the value. If specified, the listed keys will be projected + into the specified paths, and unlisted keys will not be + present. If a key is specified which is not present in + the Secret, the volume setup will error unless it is marked + optional. Paths must be relative and may not contain the + '..' path or start with '..'. + items: + description: Maps a string key to a path within a volume. + properties: + key: + description: key is the key to project. + type: string + mode: + description: 'mode is Optional: mode bits used to + set permissions on this file. Must be an octal value + between 0000 and 0777 or a decimal value between + 0 and 511. YAML accepts both octal and decimal values, + JSON requires decimal values for mode bits. If not + specified, the volume defaultMode will be used. + This might be in conflict with other options that + affect the file mode, like fsGroup, and the result + can be other mode bits set.' + format: int32 + type: integer + path: + description: path is the relative path of the file + to map the key to. May not be an absolute path. + May not contain the path element '..'. May not start + with the string '..'. + type: string + required: + - key + - path + type: object + type: array + optional: + description: optional field specify whether the Secret or + its keys must be defined + type: boolean + secretName: + description: 'secretName is the name of the secret in the + pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' + type: string + type: object + storageos: + description: storageOS represents a StorageOS volume attached + and mounted on Kubernetes nodes. + properties: + fsType: + description: fsType is the filesystem type to mount. Must + be a filesystem type supported by the host operating system. + Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" + if unspecified. + type: string + readOnly: + description: readOnly defaults to false (read/write). ReadOnly + here will force the ReadOnly setting in VolumeMounts. + type: boolean + secretRef: + description: secretRef specifies the secret to use for obtaining + the StorageOS API credentials. If not specified, default + values will be attempted. + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + type: object + x-kubernetes-map-type: atomic + volumeName: + description: volumeName is the human-readable name of the + StorageOS volume. Volume names are only unique within + a namespace. + type: string + volumeNamespace: + description: volumeNamespace specifies the scope of the + volume within StorageOS. If no namespace is specified + then the Pod's namespace will be used. This allows the + Kubernetes name scoping to be mirrored within StorageOS + for tighter integration. Set VolumeName to any name to + override the default behaviour. Set to "default" if you + are not using namespaces within StorageOS. Namespaces + that do not pre-exist within StorageOS will be created. + type: string + type: object + vsphereVolume: + description: vsphereVolume represents a vSphere volume attached + and mounted on kubelets host machine + properties: + fsType: + description: fsType is filesystem type to mount. Must be + a filesystem type supported by the host operating system. + Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" + if unspecified. + type: string + storagePolicyID: + description: storagePolicyID is the storage Policy Based + Management (SPBM) profile ID associated with the StoragePolicyName. + type: string + storagePolicyName: + description: storagePolicyName is the storage Policy Based + Management (SPBM) profile name. + type: string + volumePath: + description: volumePath is the path that identifies vSphere + volume vmdk + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + ingress: + description: CodeEditor will create an Ingress resource if `true`. + type: boolean + port: + default: 9000 + description: Port that code editor will use inside the container. + format: int32 + type: integer + remote: + description: If `true`, code editor will be consumed remotely. + type: boolean + serviceType: + default: ClusterIP + description: Service type of CodeEditor. `ClusterIP` and `NodePort` + is supported. + enum: + - ClusterIP + - NodePort + type: string + tlsSecretName: + description: Name of the TLS secret for ingress resource. + type: string + version: + default: 4.22.0 + description: App version of the code editor. + type: string + volumeClaimTemplates: + description: Volume templates for ROS 2 workload. For each volume + template, operator will create a PersistentVolumeClaim that can + be mounted to the ROS 2 workload. + items: + description: PersistentVolumeClaimTemplate is used to produce PersistentVolumeClaim + objects as part of an EphemeralVolumeSource. + properties: + metadata: + description: May contain labels and annotations that will be + copied into the PVC when creating it. No other fields are + allowed and will be rejected during validation. + type: object + spec: + description: The specification for the PersistentVolumeClaim. + The entire content is copied unchanged into the PVC that gets + created from this template. The same fields as in a PersistentVolumeClaim + are also valid here. + properties: + accessModes: + description: 'accessModes contains the desired access modes + the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + items: + type: string + type: array + dataSource: + description: 'dataSource field can be used to specify either: + * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) + * An existing PVC (PersistentVolumeClaim) If the provisioner + or an external controller can support the specified data + source, it will create a new volume based on the contents + of the specified data source. When the AnyVolumeDataSource + feature gate is enabled, dataSource contents will be copied + to dataSourceRef, and dataSourceRef contents will be copied + to dataSource when dataSourceRef.namespace is not specified. + If the namespace is specified, then dataSourceRef will + not be copied to dataSource.' + properties: + apiGroup: + description: APIGroup is the group for the resource + being referenced. If APIGroup is not specified, the + specified Kind must be in the core API group. For + any other third-party types, APIGroup is required. + type: string + kind: + description: Kind is the type of resource being referenced + type: string + name: + description: Name is the name of resource being referenced + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + description: 'dataSourceRef specifies the object from which + to populate the volume with data, if a non-empty volume + is desired. This may be any object from a non-empty API + group (non core object) or a PersistentVolumeClaim object. + When this field is specified, volume binding will only + succeed if the type of the specified object matches some + installed volume populator or dynamic provisioner. This + field will replace the functionality of the dataSource + field and as such if both fields are non-empty, they must + have the same value. For backwards compatibility, when + namespace isn''t specified in dataSourceRef, both fields + (dataSource and dataSourceRef) will be set to the same + value automatically if one of them is empty and the other + is non-empty. When namespace is specified in dataSourceRef, + dataSource isn''t set to the same value and must be empty. + There are three important differences between dataSource + and dataSourceRef: * While dataSource only allows two + specific types of objects, dataSourceRef allows any non-core + object, as well as PersistentVolumeClaim objects. * While + dataSource ignores disallowed values (dropping them), + dataSourceRef preserves all values, and generates an error + if a disallowed value is specified. * While dataSource + only allows local objects, dataSourceRef allows objects + in any namespaces. (Beta) Using this field requires the + AnyVolumeDataSource feature gate to be enabled. (Alpha) + Using the namespace field of dataSourceRef requires the + CrossNamespaceVolumeDataSource feature gate to be enabled.' + properties: + apiGroup: + description: APIGroup is the group for the resource + being referenced. If APIGroup is not specified, the + specified Kind must be in the core API group. For + any other third-party types, APIGroup is required. + type: string + kind: + description: Kind is the type of resource being referenced + type: string + name: + description: Name is the name of resource being referenced + type: string + namespace: + description: Namespace is the namespace of resource + being referenced Note that when a namespace is specified, + a gateway.networking.k8s.io/ReferenceGrant object + is required in the referent namespace to allow that + namespace's owner to accept the reference. See the + ReferenceGrant documentation for details. (Alpha) + This field requires the CrossNamespaceVolumeDataSource + feature gate to be enabled. + type: string + required: + - kind + - name + type: object + resources: + description: 'resources represents the minimum resources + the volume should have. If RecoverVolumeExpansionFailure + feature is enabled users are allowed to specify resource + requirements that are lower than previous value but must + still be higher than capacity recorded in the status field + of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' + properties: + claims: + description: "Claims lists the names of resources, defined + in spec.resourceClaims, that are used by this container. + \n This is an alpha field and requires enabling the + DynamicResourceAllocation feature gate. \n This field + is immutable." + items: + description: ResourceClaim references one entry in + PodSpec.ResourceClaims. + properties: + name: + description: Name must match the name of one entry + in pod.spec.resourceClaims of the Pod where + this field is used. It makes that resource available + inside a container. + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of + compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount + of compute resources required. If Requests is omitted + for a container, it defaults to Limits if that is + explicitly specified, otherwise to an implementation-defined + value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + selector: + description: selector is a label query over volumes to consider + for binding. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, + NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists + or DoesNotExist, the values array must be empty. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field + is "key", the operator is "In", and the values array + contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + description: 'storageClassName is the name of the StorageClass + required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' + type: string + volumeMode: + description: volumeMode defines what type of volume is required + by the claim. Value of Filesystem is implied when not + included in claim spec. + type: string + volumeName: + description: volumeName is the binding reference to the + PersistentVolume backing this claim. + type: string + type: object + required: + - spec + type: object + type: array + required: + - port + - version + type: object + status: + description: Most recently observed status of the CodeEditor. + properties: + deploymentStatus: + description: Status of code editor deployment. + properties: + containerStatuses: + description: Container statuses. + items: + description: ContainerStatus contains details for the current + status of this container. + properties: + containerID: + description: Container's ID in the format '://'. + type: string + image: + description: 'The image the container is running. More info: + https://kubernetes.io/docs/concepts/containers/images.' + type: string + imageID: + description: ImageID of the container's image. + type: string + lastState: + description: Details about the container's last termination + condition. + properties: + running: + description: Details about a running container + properties: + startedAt: + description: Time at which the container was last + (re-)started + format: date-time + type: string + type: object + terminated: + description: Details about a terminated container + properties: + containerID: + description: Container's ID in the format '://' + type: string + exitCode: + description: Exit status from the last termination + of the container + format: int32 + type: integer + finishedAt: + description: Time at which the container last terminated + format: date-time + type: string + message: + description: Message regarding the last termination + of the container + type: string + reason: + description: (brief) reason from the last termination + of the container + type: string + signal: + description: Signal from the last termination of + the container + format: int32 + type: integer + startedAt: + description: Time at which previous execution of + the container started + format: date-time + type: string + required: + - exitCode + type: object + waiting: + description: Details about a waiting container + properties: + message: + description: Message regarding why the container + is not yet running. + type: string + reason: + description: (brief) reason the container is not + yet running. + type: string + type: object + type: object + name: + description: This must be a DNS_LABEL. Each container in + a pod must have a unique name. Cannot be updated. + type: string + ready: + description: Specifies whether the container has passed + its readiness probe. + type: boolean + restartCount: + description: The number of times the container has been + restarted. + format: int32 + type: integer + started: + description: Specifies whether the container has passed + its startup probe. Initialized as false, becomes true + after startupProbe is considered successful. Resets to + false when the container is restarted, or if kubelet loses + state temporarily. Is always true when no startupProbe + is defined. + type: boolean + state: + description: Details about the container's current condition. + properties: + running: + description: Details about a running container + properties: + startedAt: + description: Time at which the container was last + (re-)started + format: date-time + type: string + type: object + terminated: + description: Details about a terminated container + properties: + containerID: + description: Container's ID in the format '://' + type: string + exitCode: + description: Exit status from the last termination + of the container + format: int32 + type: integer + finishedAt: + description: Time at which the container last terminated + format: date-time + type: string + message: + description: Message regarding the last termination + of the container + type: string + reason: + description: (brief) reason from the last termination + of the container + type: string + signal: + description: Signal from the last termination of + the container + format: int32 + type: integer + startedAt: + description: Time at which previous execution of + the container started + format: date-time + type: string + required: + - exitCode + type: object + waiting: + description: Details about a waiting container + properties: + message: + description: Message regarding why the container + is not yet running. + type: string + reason: + description: (brief) reason the container is not + yet running. + type: string + type: object + type: object + required: + - image + - imageID + - name + - ready + - restartCount + type: object + type: array + resource: + description: Generic status for any owned resource. + properties: + created: + description: Shows if the owned resource is created. + type: boolean + phase: + description: Phase of the owned resource. + type: string + reference: + description: Reference to the owned resource. + properties: + apiVersion: + description: API version of the referent. + type: string + fieldPath: + description: 'If referring to a piece of an object instead + of an entire object, this string should contain a valid + JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container + within a pod, this would take on a value like: "spec.containers{name}" + (where "name" refers to the name of the container that + triggered the event) or if no container name is specified + "spec.containers[2]" (container with index 2 in this + pod). This syntax is chosen only to have some well-defined + way of referencing a part of an object. TODO: this design + is not final and this field is subject to change in + the future.' + type: string + kind: + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + resourceVersion: + description: 'Specific resourceVersion to which this reference + is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + type: string + uid: + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + type: string + type: object + x-kubernetes-map-type: atomic + required: + - created + type: object + status: + description: Status of the Deployment. + properties: + availableReplicas: + description: Total number of available pods (ready for at + least minReadySeconds) targeted by this deployment. + format: int32 + type: integer + collisionCount: + description: Count of hash collisions for the Deployment. + The Deployment controller uses this field as a collision + avoidance mechanism when it needs to create the name for + the newest ReplicaSet. + format: int32 + type: integer + conditions: + description: Represents the latest available observations + of a deployment's current state. + items: + description: DeploymentCondition describes the state of + a deployment at a certain point. + properties: + lastTransitionTime: + description: Last time the condition transitioned from + one status to another. + format: date-time + type: string + lastUpdateTime: + description: The last time this condition was updated. + format: date-time + type: string + message: + description: A human readable message indicating details + about the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, + Unknown. + type: string + type: + description: Type of deployment condition. + type: string + required: + - status + - type + type: object + type: array + observedGeneration: + description: The generation observed by the deployment controller. + format: int64 + type: integer + readyReplicas: + description: readyReplicas is the number of pods targeted + by this Deployment with a Ready Condition. + format: int32 + type: integer + replicas: + description: Total number of non-terminated pods targeted + by this deployment (their labels match the selector). + format: int32 + type: integer + unavailableReplicas: + description: Total number of unavailable pods targeted by + this deployment. This is the total number of pods that are + still required for the deployment to have 100% available + capacity. They may either be pods that are running but not + yet available or pods that still have not been created. + format: int32 + type: integer + updatedReplicas: + description: Total number of non-terminated pods targeted + by this deployment that have the desired template spec. + format: int32 + type: integer + type: object + type: object + externalVolumeStatuses: + description: Statuses of external volumes. + items: + properties: + exists: + description: Indicates if the volume exists. + type: boolean + name: + description: Name of the external volume. + type: string + type: object + type: array + ingressStatus: + description: Status of CodeEditor Ingress. + properties: + created: + description: Shows if the owned resource is created. + type: boolean + phase: + description: Phase of the owned resource. + type: string + reference: + description: Reference to the owned resource. + properties: + apiVersion: + description: API version of the referent. + type: string + fieldPath: + description: 'If referring to a piece of an object instead + of an entire object, this string should contain a valid + JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within + a pod, this would take on a value like: "spec.containers{name}" + (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" + (container with index 2 in this pod). This syntax is chosen + only to have some well-defined way of referencing a part + of an object. TODO: this design is not final and this field + is subject to change in the future.' + type: string + kind: + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + resourceVersion: + description: 'Specific resourceVersion to which this reference + is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + type: string + uid: + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + type: string + type: object + x-kubernetes-map-type: atomic + required: + - created + type: object + phase: + description: Phase of CodeEditor. It sums the general status of code + editor. + type: string + pvcStatuses: + description: Statuses of owned PersistentVolumeClaims. + items: + properties: + resource: + description: Generic status for any owned resource. + properties: + created: + description: Shows if the owned resource is created. + type: boolean + phase: + description: Phase of the owned resource. + type: string + reference: + description: Reference to the owned resource. + properties: + apiVersion: + description: API version of the referent. + type: string + fieldPath: + description: 'If referring to a piece of an object instead + of an entire object, this string should contain a + valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container + within a pod, this would take on a value like: "spec.containers{name}" + (where "name" refers to the name of the container + that triggered the event) or if no container name + is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to + have some well-defined way of referencing a part of + an object. TODO: this design is not final and this + field is subject to change in the future.' + type: string + kind: + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: + https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + resourceVersion: + description: 'Specific resourceVersion to which this + reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + type: string + uid: + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + type: string + type: object + x-kubernetes-map-type: atomic + required: + - created + type: object + status: + description: Status of the ROS2Bridge instance. + properties: + accessModes: + description: 'accessModes contains the actual access modes + the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + items: + type: string + type: array + allocatedResources: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: allocatedResources is the storage resource + within AllocatedResources tracks the capacity allocated + to a PVC. It may be larger than the actual capacity when + a volume expansion operation is requested. For storage + quota, the larger value from allocatedResources and PVC.spec.resources + is used. If allocatedResources is not set, PVC.spec.resources + alone is used for quota calculation. If a volume expansion + capacity request is lowered, allocatedResources is only + lowered if there are no expansion operations in progress + and if the actual volume capacity is equal or lower than + the requested capacity. This is an alpha field and requires + enabling RecoverVolumeExpansionFailure feature. + type: object + capacity: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: capacity represents the actual resources of + the underlying volume. + type: object + conditions: + description: conditions is the current Condition of persistent + volume claim. If underlying persistent volume is being + resized then the Condition will be set to 'ResizeStarted'. + items: + description: PersistentVolumeClaimCondition contails details + about state of pvc + properties: + lastProbeTime: + description: lastProbeTime is the time we probed the + condition. + format: date-time + type: string + lastTransitionTime: + description: lastTransitionTime is the time the condition + transitioned from one status to another. + format: date-time + type: string + message: + description: message is the human-readable message + indicating details about last transition. + type: string + reason: + description: reason is a unique, this should be a + short, machine understandable string that gives + the reason for condition's last transition. If it + reports "ResizeStarted" that means the underlying + persistent volume is being resized. + type: string + status: + type: string + type: + description: PersistentVolumeClaimConditionType is + a valid value of PersistentVolumeClaimCondition.Type + type: string + required: + - status + - type + type: object + type: array + phase: + description: phase represents the current phase of PersistentVolumeClaim. + type: string + resizeStatus: + description: resizeStatus stores status of resize operation. + ResizeStatus is not set by default but when expansion + is complete resizeStatus is set to empty string by resize + controller or kubelet. This is an alpha field and requires + enabling RecoverVolumeExpansionFailure feature. + type: string + type: object + type: object + type: array + serviceStatus: + description: Status of code editor service. + properties: + resource: + description: Generic status for any owned resource. + properties: + created: + description: Shows if the owned resource is created. + type: boolean + phase: + description: Phase of the owned resource. + type: string + reference: + description: Reference to the owned resource. + properties: + apiVersion: + description: API version of the referent. + type: string + fieldPath: + description: 'If referring to a piece of an object instead + of an entire object, this string should contain a valid + JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container + within a pod, this would take on a value like: "spec.containers{name}" + (where "name" refers to the name of the container that + triggered the event) or if no container name is specified + "spec.containers[2]" (container with index 2 in this + pod). This syntax is chosen only to have some well-defined + way of referencing a part of an object. TODO: this design + is not final and this field is subject to change in + the future.' + type: string + kind: + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + resourceVersion: + description: 'Specific resourceVersion to which this reference + is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + type: string + uid: + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + type: string + type: object + x-kubernetes-map-type: atomic + required: + - created + type: object + urls: + additionalProperties: + type: string + description: Connection URL. + type: object + type: object + workloadUpdateNeeded: + description: Field to indicate if the workload should be restarted. + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/pom.xml b/pom.xml index fee03b0..f992ad4 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 io.roboscale.robot robot-fabric8-client - 0.1.0-alpha.31 + 0.1.0-alpha.32 robot-fabric8-client https://robolaunch.io diff --git a/src/main/java/io/roboscale/robot/v1alpha2/CodeEditor.java b/src/main/java/io/roboscale/robot/v1alpha2/CodeEditor.java new file mode 100644 index 0000000..75e1a4c --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/CodeEditor.java @@ -0,0 +1,10 @@ +package io.roboscale.robot.v1alpha2; + +@io.fabric8.kubernetes.model.annotation.Version(value = "v1alpha2" , storage = true , served = true) +@io.fabric8.kubernetes.model.annotation.Group("robot.roboscale.io") +@io.fabric8.kubernetes.model.annotation.Singular("codeeditor") +@io.fabric8.kubernetes.model.annotation.Plural("codeeditors") +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class CodeEditor extends io.fabric8.kubernetes.client.CustomResource implements io.fabric8.kubernetes.api.model.Namespaced { +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/CodeEditorSpec.java b/src/main/java/io/roboscale/robot/v1alpha2/CodeEditorSpec.java new file mode 100644 index 0000000..3729459 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/CodeEditorSpec.java @@ -0,0 +1,173 @@ +package io.roboscale.robot.v1alpha2; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"container","externalVolumes","ingress","port","remote","serviceType","tlsSecretName","version","volumeClaimTemplates"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class CodeEditorSpec implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Configurational parameters for code editor container. + */ + @com.fasterxml.jackson.annotation.JsonProperty("container") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Configurational parameters for code editor container.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.Container container; + + public io.roboscale.robot.v1alpha2.codeeditorspec.Container getContainer() { + return container; + } + + public void setContainer(io.roboscale.robot.v1alpha2.codeeditorspec.Container container) { + this.container = container; + } + + /** + * External volumes. + */ + @com.fasterxml.jackson.annotation.JsonProperty("externalVolumes") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("External volumes.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List externalVolumes; + + public java.util.List getExternalVolumes() { + return externalVolumes; + } + + public void setExternalVolumes(java.util.List externalVolumes) { + this.externalVolumes = externalVolumes; + } + + /** + * CodeEditor will create an Ingress resource if `true`. + */ + @com.fasterxml.jackson.annotation.JsonProperty("ingress") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("CodeEditor will create an Ingress resource if `true`.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean ingress; + + public Boolean getIngress() { + return ingress; + } + + public void setIngress(Boolean ingress) { + this.ingress = ingress; + } + + /** + * Port that code editor will use inside the container. + */ + @com.fasterxml.jackson.annotation.JsonProperty("port") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Port that code editor will use inside the container.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer port = 9000; + + public Integer getPort() { + return port; + } + + public void setPort(Integer port) { + this.port = port; + } + + /** + * If `true`, code editor will be consumed remotely. + */ + @com.fasterxml.jackson.annotation.JsonProperty("remote") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("If `true`, code editor will be consumed remotely.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean remote; + + public Boolean getRemote() { + return remote; + } + + public void setRemote(Boolean remote) { + this.remote = remote; + } + + public enum ServiceType { + + @com.fasterxml.jackson.annotation.JsonProperty("ClusterIP") + CLUSTERIP("ClusterIP"), @com.fasterxml.jackson.annotation.JsonProperty("NodePort") + NODEPORT("NodePort"); + + java.lang.String value; + + ServiceType(java.lang.String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue() + public java.lang.String getValue() { + return value; + } + } + + /** + * Service type of CodeEditor. `ClusterIP` and `NodePort` is supported. + */ + @com.fasterxml.jackson.annotation.JsonProperty("serviceType") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Service type of CodeEditor. `ClusterIP` and `NodePort` is supported.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private ServiceType serviceType = io.fabric8.kubernetes.client.utils.Serialization.unmarshal("\"ClusterIP\"", ServiceType.class); + + public ServiceType getServiceType() { + return serviceType; + } + + public void setServiceType(ServiceType serviceType) { + this.serviceType = serviceType; + } + + /** + * Name of the TLS secret for ingress resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("tlsSecretName") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the TLS secret for ingress resource.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String tlsSecretName; + + public String getTlsSecretName() { + return tlsSecretName; + } + + public void setTlsSecretName(String tlsSecretName) { + this.tlsSecretName = tlsSecretName; + } + + /** + * App version of the code editor. + */ + @com.fasterxml.jackson.annotation.JsonProperty("version") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("App version of the code editor.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String version = "4.22.0"; + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + /** + * Volume templates for ROS 2 workload. For each volume template, operator will create a PersistentVolumeClaim that can be mounted to the ROS 2 workload. + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumeClaimTemplates") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Volume templates for ROS 2 workload. For each volume template, operator will create a PersistentVolumeClaim that can be mounted to the ROS 2 workload.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List volumeClaimTemplates; + + public java.util.List getVolumeClaimTemplates() { + return volumeClaimTemplates; + } + + public void setVolumeClaimTemplates(java.util.List volumeClaimTemplates) { + this.volumeClaimTemplates = volumeClaimTemplates; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/CodeEditorStatus.java b/src/main/java/io/roboscale/robot/v1alpha2/CodeEditorStatus.java new file mode 100644 index 0000000..f84b8a0 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/CodeEditorStatus.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"deploymentStatus","externalVolumeStatuses","ingressStatus","phase","pvcStatuses","serviceStatus","workloadUpdateNeeded"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class CodeEditorStatus implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Status of code editor deployment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("deploymentStatus") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Status of code editor deployment.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorstatus.DeploymentStatus deploymentStatus; + + public io.roboscale.robot.v1alpha2.codeeditorstatus.DeploymentStatus getDeploymentStatus() { + return deploymentStatus; + } + + public void setDeploymentStatus(io.roboscale.robot.v1alpha2.codeeditorstatus.DeploymentStatus deploymentStatus) { + this.deploymentStatus = deploymentStatus; + } + + /** + * Statuses of external volumes. + */ + @com.fasterxml.jackson.annotation.JsonProperty("externalVolumeStatuses") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Statuses of external volumes.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List externalVolumeStatuses; + + public java.util.List getExternalVolumeStatuses() { + return externalVolumeStatuses; + } + + public void setExternalVolumeStatuses(java.util.List externalVolumeStatuses) { + this.externalVolumeStatuses = externalVolumeStatuses; + } + + /** + * Status of CodeEditor Ingress. + */ + @com.fasterxml.jackson.annotation.JsonProperty("ingressStatus") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Status of CodeEditor Ingress.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorstatus.IngressStatus ingressStatus; + + public io.roboscale.robot.v1alpha2.codeeditorstatus.IngressStatus getIngressStatus() { + return ingressStatus; + } + + public void setIngressStatus(io.roboscale.robot.v1alpha2.codeeditorstatus.IngressStatus ingressStatus) { + this.ingressStatus = ingressStatus; + } + + /** + * Phase of CodeEditor. It sums the general status of code editor. + */ + @com.fasterxml.jackson.annotation.JsonProperty("phase") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Phase of CodeEditor. It sums the general status of code editor.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String phase; + + public String getPhase() { + return phase; + } + + public void setPhase(String phase) { + this.phase = phase; + } + + /** + * Statuses of owned PersistentVolumeClaims. + */ + @com.fasterxml.jackson.annotation.JsonProperty("pvcStatuses") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Statuses of owned PersistentVolumeClaims.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List pvcStatuses; + + public java.util.List getPvcStatuses() { + return pvcStatuses; + } + + public void setPvcStatuses(java.util.List pvcStatuses) { + this.pvcStatuses = pvcStatuses; + } + + /** + * Status of code editor service. + */ + @com.fasterxml.jackson.annotation.JsonProperty("serviceStatus") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Status of code editor service.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorstatus.ServiceStatus serviceStatus; + + public io.roboscale.robot.v1alpha2.codeeditorstatus.ServiceStatus getServiceStatus() { + return serviceStatus; + } + + public void setServiceStatus(io.roboscale.robot.v1alpha2.codeeditorstatus.ServiceStatus serviceStatus) { + this.serviceStatus = serviceStatus; + } + + /** + * Field to indicate if the workload should be restarted. + */ + @com.fasterxml.jackson.annotation.JsonProperty("workloadUpdateNeeded") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Field to indicate if the workload should be restarted.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean workloadUpdateNeeded; + + public Boolean getWorkloadUpdateNeeded() { + return workloadUpdateNeeded; + } + + public void setWorkloadUpdateNeeded(Boolean workloadUpdateNeeded) { + this.workloadUpdateNeeded = workloadUpdateNeeded; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/Container.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/Container.java new file mode 100644 index 0000000..1b8ca5e --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/Container.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"securityContext","volumeMounts"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Container implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Security context of the code editor container. + */ + @com.fasterxml.jackson.annotation.JsonProperty("securityContext") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Security context of the code editor container.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.container.SecurityContext securityContext; + + public io.roboscale.robot.v1alpha2.codeeditorspec.container.SecurityContext getSecurityContext() { + return securityContext; + } + + public void setSecurityContext(io.roboscale.robot.v1alpha2.codeeditorspec.container.SecurityContext securityContext) { + this.securityContext = securityContext; + } + + /** + * Mounted volumes of the code editor container. + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumeMounts") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Mounted volumes of the code editor container.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List volumeMounts; + + public java.util.List getVolumeMounts() { + return volumeMounts; + } + + public void setVolumeMounts(java.util.List volumeMounts) { + this.volumeMounts = volumeMounts; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/ExternalVolumes.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/ExternalVolumes.java new file mode 100644 index 0000000..a7d0ee9 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/ExternalVolumes.java @@ -0,0 +1,494 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"awsElasticBlockStore","azureDisk","azureFile","cephfs","cinder","configMap","csi","downwardAPI","emptyDir","ephemeral","fc","flexVolume","flocker","gcePersistentDisk","gitRepo","glusterfs","hostPath","iscsi","name","nfs","persistentVolumeClaim","photonPersistentDisk","portworxVolume","projected","quobyte","rbd","scaleIO","secret","storageos","vsphereVolume"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class ExternalVolumes implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + */ + @com.fasterxml.jackson.annotation.JsonProperty("awsElasticBlockStore") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.AwsElasticBlockStore awsElasticBlockStore; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.AwsElasticBlockStore getAwsElasticBlockStore() { + return awsElasticBlockStore; + } + + public void setAwsElasticBlockStore(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.AwsElasticBlockStore awsElasticBlockStore) { + this.awsElasticBlockStore = awsElasticBlockStore; + } + + /** + * azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. + */ + @com.fasterxml.jackson.annotation.JsonProperty("azureDisk") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.AzureDisk azureDisk; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.AzureDisk getAzureDisk() { + return azureDisk; + } + + public void setAzureDisk(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.AzureDisk azureDisk) { + this.azureDisk = azureDisk; + } + + /** + * azureFile represents an Azure File Service mount on the host and bind mount to the pod. + */ + @com.fasterxml.jackson.annotation.JsonProperty("azureFile") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("azureFile represents an Azure File Service mount on the host and bind mount to the pod.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.AzureFile azureFile; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.AzureFile getAzureFile() { + return azureFile; + } + + public void setAzureFile(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.AzureFile azureFile) { + this.azureFile = azureFile; + } + + /** + * cephFS represents a Ceph FS mount on the host that shares a pod's lifetime + */ + @com.fasterxml.jackson.annotation.JsonProperty("cephfs") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("cephFS represents a Ceph FS mount on the host that shares a pod's lifetime") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Cephfs cephfs; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Cephfs getCephfs() { + return cephfs; + } + + public void setCephfs(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Cephfs cephfs) { + this.cephfs = cephfs; + } + + /** + * cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + */ + @com.fasterxml.jackson.annotation.JsonProperty("cinder") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Cinder cinder; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Cinder getCinder() { + return cinder; + } + + public void setCinder(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Cinder cinder) { + this.cinder = cinder; + } + + /** + * configMap represents a configMap that should populate this volume + */ + @com.fasterxml.jackson.annotation.JsonProperty("configMap") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("configMap represents a configMap that should populate this volume") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ConfigMap configMap; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ConfigMap getConfigMap() { + return configMap; + } + + public void setConfigMap(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ConfigMap configMap) { + this.configMap = configMap; + } + + /** + * csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). + */ + @com.fasterxml.jackson.annotation.JsonProperty("csi") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature).") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Csi csi; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Csi getCsi() { + return csi; + } + + public void setCsi(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Csi csi) { + this.csi = csi; + } + + /** + * downwardAPI represents downward API about the pod that should populate this volume + */ + @com.fasterxml.jackson.annotation.JsonProperty("downwardAPI") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("downwardAPI represents downward API about the pod that should populate this volume") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.DownwardAPI downwardAPI; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.DownwardAPI getDownwardAPI() { + return downwardAPI; + } + + public void setDownwardAPI(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.DownwardAPI downwardAPI) { + this.downwardAPI = downwardAPI; + } + + /** + * emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + */ + @com.fasterxml.jackson.annotation.JsonProperty("emptyDir") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.EmptyDir emptyDir; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.EmptyDir getEmptyDir() { + return emptyDir; + } + + public void setEmptyDir(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.EmptyDir emptyDir) { + this.emptyDir = emptyDir; + } + + /** + * ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed. + * Use this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity tracking are needed, c) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource for more information on the connection between this volume type and PersistentVolumeClaim). + * Use PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod. + * Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information. + * A pod can use both types of ephemeral volumes and persistent volumes at the same time. + */ + @com.fasterxml.jackson.annotation.JsonProperty("ephemeral") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed. \n Use this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity tracking are needed, c) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource for more information on the connection between this volume type and PersistentVolumeClaim). \n Use PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod. \n Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information. \n A pod can use both types of ephemeral volumes and persistent volumes at the same time.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Ephemeral ephemeral; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Ephemeral getEphemeral() { + return ephemeral; + } + + public void setEphemeral(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Ephemeral ephemeral) { + this.ephemeral = ephemeral; + } + + /** + * fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. + */ + @com.fasterxml.jackson.annotation.JsonProperty("fc") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Fc fc; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Fc getFc() { + return fc; + } + + public void setFc(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Fc fc) { + this.fc = fc; + } + + /** + * flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. + */ + @com.fasterxml.jackson.annotation.JsonProperty("flexVolume") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.FlexVolume flexVolume; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.FlexVolume getFlexVolume() { + return flexVolume; + } + + public void setFlexVolume(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.FlexVolume flexVolume) { + this.flexVolume = flexVolume; + } + + /** + * flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running + */ + @com.fasterxml.jackson.annotation.JsonProperty("flocker") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Flocker flocker; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Flocker getFlocker() { + return flocker; + } + + public void setFlocker(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Flocker flocker) { + this.flocker = flocker; + } + + /** + * gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + */ + @com.fasterxml.jackson.annotation.JsonProperty("gcePersistentDisk") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.GcePersistentDisk gcePersistentDisk; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.GcePersistentDisk getGcePersistentDisk() { + return gcePersistentDisk; + } + + public void setGcePersistentDisk(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.GcePersistentDisk gcePersistentDisk) { + this.gcePersistentDisk = gcePersistentDisk; + } + + /** + * gitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container. + */ + @com.fasterxml.jackson.annotation.JsonProperty("gitRepo") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("gitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.GitRepo gitRepo; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.GitRepo getGitRepo() { + return gitRepo; + } + + public void setGitRepo(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.GitRepo gitRepo) { + this.gitRepo = gitRepo; + } + + /** + * glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md + */ + @com.fasterxml.jackson.annotation.JsonProperty("glusterfs") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Glusterfs glusterfs; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Glusterfs getGlusterfs() { + return glusterfs; + } + + public void setGlusterfs(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Glusterfs glusterfs) { + this.glusterfs = glusterfs; + } + + /** + * hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not mount host directories as read/write. + */ + @com.fasterxml.jackson.annotation.JsonProperty("hostPath") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not mount host directories as read/write.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.HostPath hostPath; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.HostPath getHostPath() { + return hostPath; + } + + public void setHostPath(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.HostPath hostPath) { + this.hostPath = hostPath; + } + + /** + * iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md + */ + @com.fasterxml.jackson.annotation.JsonProperty("iscsi") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Iscsi iscsi; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Iscsi getIscsi() { + return iscsi; + } + + public void setIscsi(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Iscsi iscsi) { + this.iscsi = iscsi; + } + + /** + * name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + */ + @com.fasterxml.jackson.annotation.JsonProperty("nfs") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Nfs nfs; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Nfs getNfs() { + return nfs; + } + + public void setNfs(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Nfs nfs) { + this.nfs = nfs; + } + + /** + * persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + */ + @com.fasterxml.jackson.annotation.JsonProperty("persistentVolumeClaim") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.PersistentVolumeClaim persistentVolumeClaim; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.PersistentVolumeClaim getPersistentVolumeClaim() { + return persistentVolumeClaim; + } + + public void setPersistentVolumeClaim(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.PersistentVolumeClaim persistentVolumeClaim) { + this.persistentVolumeClaim = persistentVolumeClaim; + } + + /** + * photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine + */ + @com.fasterxml.jackson.annotation.JsonProperty("photonPersistentDisk") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.PhotonPersistentDisk photonPersistentDisk; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.PhotonPersistentDisk getPhotonPersistentDisk() { + return photonPersistentDisk; + } + + public void setPhotonPersistentDisk(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.PhotonPersistentDisk photonPersistentDisk) { + this.photonPersistentDisk = photonPersistentDisk; + } + + /** + * portworxVolume represents a portworx volume attached and mounted on kubelets host machine + */ + @com.fasterxml.jackson.annotation.JsonProperty("portworxVolume") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("portworxVolume represents a portworx volume attached and mounted on kubelets host machine") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.PortworxVolume portworxVolume; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.PortworxVolume getPortworxVolume() { + return portworxVolume; + } + + public void setPortworxVolume(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.PortworxVolume portworxVolume) { + this.portworxVolume = portworxVolume; + } + + /** + * projected items for all in one resources secrets, configmaps, and downward API + */ + @com.fasterxml.jackson.annotation.JsonProperty("projected") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("projected items for all in one resources secrets, configmaps, and downward API") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Projected projected; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Projected getProjected() { + return projected; + } + + public void setProjected(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Projected projected) { + this.projected = projected; + } + + /** + * quobyte represents a Quobyte mount on the host that shares a pod's lifetime + */ + @com.fasterxml.jackson.annotation.JsonProperty("quobyte") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("quobyte represents a Quobyte mount on the host that shares a pod's lifetime") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Quobyte quobyte; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Quobyte getQuobyte() { + return quobyte; + } + + public void setQuobyte(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Quobyte quobyte) { + this.quobyte = quobyte; + } + + /** + * rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md + */ + @com.fasterxml.jackson.annotation.JsonProperty("rbd") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Rbd rbd; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Rbd getRbd() { + return rbd; + } + + public void setRbd(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Rbd rbd) { + this.rbd = rbd; + } + + /** + * scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. + */ + @com.fasterxml.jackson.annotation.JsonProperty("scaleIO") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ScaleIO scaleIO; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ScaleIO getScaleIO() { + return scaleIO; + } + + public void setScaleIO(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ScaleIO scaleIO) { + this.scaleIO = scaleIO; + } + + /** + * secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + */ + @com.fasterxml.jackson.annotation.JsonProperty("secret") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Secret secret; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Secret getSecret() { + return secret; + } + + public void setSecret(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Secret secret) { + this.secret = secret; + } + + /** + * storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. + */ + @com.fasterxml.jackson.annotation.JsonProperty("storageos") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Storageos storageos; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Storageos getStorageos() { + return storageos; + } + + public void setStorageos(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.Storageos storageos) { + this.storageos = storageos; + } + + /** + * vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine + */ + @com.fasterxml.jackson.annotation.JsonProperty("vsphereVolume") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.VsphereVolume vsphereVolume; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.VsphereVolume getVsphereVolume() { + return vsphereVolume; + } + + public void setVsphereVolume(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.VsphereVolume vsphereVolume) { + this.vsphereVolume = vsphereVolume; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/VolumeClaimTemplates.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/VolumeClaimTemplates.java new file mode 100644 index 0000000..6939eef --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/VolumeClaimTemplates.java @@ -0,0 +1,42 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"metadata","spec"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class VolumeClaimTemplates implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * May contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation. + */ + @com.fasterxml.jackson.annotation.JsonProperty("metadata") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("May contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.Metadata metadata; + + public io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.Metadata getMetadata() { + return metadata; + } + + public void setMetadata(io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.Metadata metadata) { + this.metadata = metadata; + } + + /** + * The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here. + */ + @com.fasterxml.jackson.annotation.JsonProperty("spec") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.Spec spec; + + public io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.Spec getSpec() { + return spec; + } + + public void setSpec(io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.Spec spec) { + this.spec = spec; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/SecurityContext.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/SecurityContext.java new file mode 100644 index 0000000..af35eec --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/SecurityContext.java @@ -0,0 +1,185 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.container; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"allowPrivilegeEscalation","capabilities","privileged","procMount","readOnlyRootFilesystem","runAsGroup","runAsNonRoot","runAsUser","seLinuxOptions","seccompProfile","windowsOptions"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class SecurityContext implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows. + */ + @com.fasterxml.jackson.annotation.JsonProperty("allowPrivilegeEscalation") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean allowPrivilegeEscalation; + + public Boolean getAllowPrivilegeEscalation() { + return allowPrivilegeEscalation; + } + + public void setAllowPrivilegeEscalation(Boolean allowPrivilegeEscalation) { + this.allowPrivilegeEscalation = allowPrivilegeEscalation; + } + + /** + * The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. + */ + @com.fasterxml.jackson.annotation.JsonProperty("capabilities") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.container.securitycontext.Capabilities capabilities; + + public io.roboscale.robot.v1alpha2.codeeditorspec.container.securitycontext.Capabilities getCapabilities() { + return capabilities; + } + + public void setCapabilities(io.roboscale.robot.v1alpha2.codeeditorspec.container.securitycontext.Capabilities capabilities) { + this.capabilities = capabilities; + } + + /** + * Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows. + */ + @com.fasterxml.jackson.annotation.JsonProperty("privileged") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean privileged; + + public Boolean getPrivileged() { + return privileged; + } + + public void setPrivileged(Boolean privileged) { + this.privileged = privileged; + } + + /** + * procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. + */ + @com.fasterxml.jackson.annotation.JsonProperty("procMount") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String procMount; + + public String getProcMount() { + return procMount; + } + + public void setProcMount(String procMount) { + this.procMount = procMount; + } + + /** + * Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows. + */ + @com.fasterxml.jackson.annotation.JsonProperty("readOnlyRootFilesystem") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean readOnlyRootFilesystem; + + public Boolean getReadOnlyRootFilesystem() { + return readOnlyRootFilesystem; + } + + public void setReadOnlyRootFilesystem(Boolean readOnlyRootFilesystem) { + this.readOnlyRootFilesystem = readOnlyRootFilesystem; + } + + /** + * The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + */ + @com.fasterxml.jackson.annotation.JsonProperty("runAsGroup") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Long runAsGroup; + + public Long getRunAsGroup() { + return runAsGroup; + } + + public void setRunAsGroup(Long runAsGroup) { + this.runAsGroup = runAsGroup; + } + + /** + * Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + */ + @com.fasterxml.jackson.annotation.JsonProperty("runAsNonRoot") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean runAsNonRoot; + + public Boolean getRunAsNonRoot() { + return runAsNonRoot; + } + + public void setRunAsNonRoot(Boolean runAsNonRoot) { + this.runAsNonRoot = runAsNonRoot; + } + + /** + * The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + */ + @com.fasterxml.jackson.annotation.JsonProperty("runAsUser") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Long runAsUser; + + public Long getRunAsUser() { + return runAsUser; + } + + public void setRunAsUser(Long runAsUser) { + this.runAsUser = runAsUser; + } + + /** + * The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + */ + @com.fasterxml.jackson.annotation.JsonProperty("seLinuxOptions") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.container.securitycontext.SeLinuxOptions seLinuxOptions; + + public io.roboscale.robot.v1alpha2.codeeditorspec.container.securitycontext.SeLinuxOptions getSeLinuxOptions() { + return seLinuxOptions; + } + + public void setSeLinuxOptions(io.roboscale.robot.v1alpha2.codeeditorspec.container.securitycontext.SeLinuxOptions seLinuxOptions) { + this.seLinuxOptions = seLinuxOptions; + } + + /** + * The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. + */ + @com.fasterxml.jackson.annotation.JsonProperty("seccompProfile") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.container.securitycontext.SeccompProfile seccompProfile; + + public io.roboscale.robot.v1alpha2.codeeditorspec.container.securitycontext.SeccompProfile getSeccompProfile() { + return seccompProfile; + } + + public void setSeccompProfile(io.roboscale.robot.v1alpha2.codeeditorspec.container.securitycontext.SeccompProfile seccompProfile) { + this.seccompProfile = seccompProfile; + } + + /** + * The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + */ + @com.fasterxml.jackson.annotation.JsonProperty("windowsOptions") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.container.securitycontext.WindowsOptions windowsOptions; + + public io.roboscale.robot.v1alpha2.codeeditorspec.container.securitycontext.WindowsOptions getWindowsOptions() { + return windowsOptions; + } + + public void setWindowsOptions(io.roboscale.robot.v1alpha2.codeeditorspec.container.securitycontext.WindowsOptions windowsOptions) { + this.windowsOptions = windowsOptions; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/VolumeMounts.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/VolumeMounts.java new file mode 100644 index 0000000..271cd19 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/VolumeMounts.java @@ -0,0 +1,107 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.container; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"mountPath","mountPropagation","name","readOnly","subPath","subPathExpr"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class VolumeMounts implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Path within the container at which the volume should be mounted. Must not contain ':'. + */ + @com.fasterxml.jackson.annotation.JsonProperty("mountPath") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Path within the container at which the volume should be mounted. Must not contain ':'.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String mountPath; + + public String getMountPath() { + return mountPath; + } + + public void setMountPath(String mountPath) { + this.mountPath = mountPath; + } + + /** + * mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. + */ + @com.fasterxml.jackson.annotation.JsonProperty("mountPropagation") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String mountPropagation; + + public String getMountPropagation() { + return mountPropagation; + } + + public void setMountPropagation(String mountPropagation) { + this.mountPropagation = mountPropagation; + } + + /** + * This must match the Name of a Volume. + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("This must match the Name of a Volume.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. + */ + @com.fasterxml.jackson.annotation.JsonProperty("readOnly") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean readOnly; + + public Boolean getReadOnly() { + return readOnly; + } + + public void setReadOnly(Boolean readOnly) { + this.readOnly = readOnly; + } + + /** + * Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). + */ + @com.fasterxml.jackson.annotation.JsonProperty("subPath") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root).") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String subPath; + + public String getSubPath() { + return subPath; + } + + public void setSubPath(String subPath) { + this.subPath = subPath; + } + + /** + * Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive. + */ + @com.fasterxml.jackson.annotation.JsonProperty("subPathExpr") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String subPathExpr; + + public String getSubPathExpr() { + return subPathExpr; + } + + public void setSubPathExpr(String subPathExpr) { + this.subPathExpr = subPathExpr; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/securitycontext/Capabilities.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/securitycontext/Capabilities.java new file mode 100644 index 0000000..a33ec0e --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/securitycontext/Capabilities.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.container.securitycontext; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"add","drop"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Capabilities implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Added capabilities + */ + @com.fasterxml.jackson.annotation.JsonProperty("add") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Added capabilities") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List add; + + public java.util.List getAdd() { + return add; + } + + public void setAdd(java.util.List add) { + this.add = add; + } + + /** + * Removed capabilities + */ + @com.fasterxml.jackson.annotation.JsonProperty("drop") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Removed capabilities") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List drop; + + public java.util.List getDrop() { + return drop; + } + + public void setDrop(java.util.List drop) { + this.drop = drop; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/securitycontext/SeLinuxOptions.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/securitycontext/SeLinuxOptions.java new file mode 100644 index 0000000..8315e27 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/securitycontext/SeLinuxOptions.java @@ -0,0 +1,73 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.container.securitycontext; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"level","role","type","user"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class SeLinuxOptions implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Level is SELinux level label that applies to the container. + */ + @com.fasterxml.jackson.annotation.JsonProperty("level") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Level is SELinux level label that applies to the container.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String level; + + public String getLevel() { + return level; + } + + public void setLevel(String level) { + this.level = level; + } + + /** + * Role is a SELinux role label that applies to the container. + */ + @com.fasterxml.jackson.annotation.JsonProperty("role") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Role is a SELinux role label that applies to the container.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String role; + + public String getRole() { + return role; + } + + public void setRole(String role) { + this.role = role; + } + + /** + * Type is a SELinux type label that applies to the container. + */ + @com.fasterxml.jackson.annotation.JsonProperty("type") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Type is a SELinux type label that applies to the container.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String type; + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + /** + * User is a SELinux user label that applies to the container. + */ + @com.fasterxml.jackson.annotation.JsonProperty("user") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("User is a SELinux user label that applies to the container.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String user; + + public String getUser() { + return user; + } + + public void setUser(String user) { + this.user = user; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/securitycontext/SeccompProfile.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/securitycontext/SeccompProfile.java new file mode 100644 index 0000000..49d2608 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/securitycontext/SeccompProfile.java @@ -0,0 +1,43 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.container.securitycontext; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"localhostProfile","type"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class SeccompProfile implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost". + */ + @com.fasterxml.jackson.annotation.JsonProperty("localhostProfile") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is \"Localhost\".") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String localhostProfile; + + public String getLocalhostProfile() { + return localhostProfile; + } + + public void setLocalhostProfile(String localhostProfile) { + this.localhostProfile = localhostProfile; + } + + /** + * type indicates which kind of seccomp profile will be applied. Valid options are: + * Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. + */ + @com.fasterxml.jackson.annotation.JsonProperty("type") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("type indicates which kind of seccomp profile will be applied. Valid options are: \n Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String type; + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/securitycontext/WindowsOptions.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/securitycontext/WindowsOptions.java new file mode 100644 index 0000000..c7c72fc --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/container/securitycontext/WindowsOptions.java @@ -0,0 +1,73 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.container.securitycontext; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"gmsaCredentialSpec","gmsaCredentialSpecName","hostProcess","runAsUserName"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class WindowsOptions implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("gmsaCredentialSpec") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String gmsaCredentialSpec; + + public String getGmsaCredentialSpec() { + return gmsaCredentialSpec; + } + + public void setGmsaCredentialSpec(String gmsaCredentialSpec) { + this.gmsaCredentialSpec = gmsaCredentialSpec; + } + + /** + * GMSACredentialSpecName is the name of the GMSA credential spec to use. + */ + @com.fasterxml.jackson.annotation.JsonProperty("gmsaCredentialSpecName") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("GMSACredentialSpecName is the name of the GMSA credential spec to use.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String gmsaCredentialSpecName; + + public String getGmsaCredentialSpecName() { + return gmsaCredentialSpecName; + } + + public void setGmsaCredentialSpecName(String gmsaCredentialSpecName) { + this.gmsaCredentialSpecName = gmsaCredentialSpecName; + } + + /** + * HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. + */ + @com.fasterxml.jackson.annotation.JsonProperty("hostProcess") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean hostProcess; + + public Boolean getHostProcess() { + return hostProcess; + } + + public void setHostProcess(Boolean hostProcess) { + this.hostProcess = hostProcess; + } + + /** + * The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + */ + @com.fasterxml.jackson.annotation.JsonProperty("runAsUserName") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String runAsUserName; + + public String getRunAsUserName() { + return runAsUserName; + } + + public void setRunAsUserName(String runAsUserName) { + this.runAsUserName = runAsUserName; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/AwsElasticBlockStore.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/AwsElasticBlockStore.java new file mode 100644 index 0000000..f68c173 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/AwsElasticBlockStore.java @@ -0,0 +1,74 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"fsType","partition","readOnly","volumeID"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class AwsElasticBlockStore implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore TODO: how do we prevent errors in the filesystem from compromising the machine + */ + @com.fasterxml.jackson.annotation.JsonProperty("fsType") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore TODO: how do we prevent errors in the filesystem from compromising the machine") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String fsType; + + public String getFsType() { + return fsType; + } + + public void setFsType(String fsType) { + this.fsType = fsType; + } + + /** + * partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). + */ + @com.fasterxml.jackson.annotation.JsonProperty("partition") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty).") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer partition; + + public Integer getPartition() { + return partition; + } + + public void setPartition(Integer partition) { + this.partition = partition; + } + + /** + * readOnly value true will force the readOnly setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + */ + @com.fasterxml.jackson.annotation.JsonProperty("readOnly") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("readOnly value true will force the readOnly setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean readOnly; + + public Boolean getReadOnly() { + return readOnly; + } + + public void setReadOnly(Boolean readOnly) { + this.readOnly = readOnly; + } + + /** + * volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumeID") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String volumeID; + + public String getVolumeID() { + return volumeID; + } + + public void setVolumeID(String volumeID) { + this.volumeID = volumeID; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/AzureDisk.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/AzureDisk.java new file mode 100644 index 0000000..3139d5f --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/AzureDisk.java @@ -0,0 +1,107 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"cachingMode","diskName","diskURI","fsType","kind","readOnly"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class AzureDisk implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * cachingMode is the Host Caching mode: None, Read Only, Read Write. + */ + @com.fasterxml.jackson.annotation.JsonProperty("cachingMode") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("cachingMode is the Host Caching mode: None, Read Only, Read Write.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String cachingMode; + + public String getCachingMode() { + return cachingMode; + } + + public void setCachingMode(String cachingMode) { + this.cachingMode = cachingMode; + } + + /** + * diskName is the Name of the data disk in the blob storage + */ + @com.fasterxml.jackson.annotation.JsonProperty("diskName") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("diskName is the Name of the data disk in the blob storage") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String diskName; + + public String getDiskName() { + return diskName; + } + + public void setDiskName(String diskName) { + this.diskName = diskName; + } + + /** + * diskURI is the URI of data disk in the blob storage + */ + @com.fasterxml.jackson.annotation.JsonProperty("diskURI") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("diskURI is the URI of data disk in the blob storage") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String diskURI; + + public String getDiskURI() { + return diskURI; + } + + public void setDiskURI(String diskURI) { + this.diskURI = diskURI; + } + + /** + * fsType is Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + */ + @com.fasterxml.jackson.annotation.JsonProperty("fsType") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("fsType is Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String fsType; + + public String getFsType() { + return fsType; + } + + public void setFsType(String fsType) { + this.fsType = fsType; + } + + /** + * kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared + */ + @com.fasterxml.jackson.annotation.JsonProperty("kind") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String kind; + + public String getKind() { + return kind; + } + + public void setKind(String kind) { + this.kind = kind; + } + + /** + * readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + */ + @com.fasterxml.jackson.annotation.JsonProperty("readOnly") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean readOnly; + + public Boolean getReadOnly() { + return readOnly; + } + + public void setReadOnly(Boolean readOnly) { + this.readOnly = readOnly; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/AzureFile.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/AzureFile.java new file mode 100644 index 0000000..29b7e9c --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/AzureFile.java @@ -0,0 +1,59 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"readOnly","secretName","shareName"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class AzureFile implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + */ + @com.fasterxml.jackson.annotation.JsonProperty("readOnly") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean readOnly; + + public Boolean getReadOnly() { + return readOnly; + } + + public void setReadOnly(Boolean readOnly) { + this.readOnly = readOnly; + } + + /** + * secretName is the name of secret that contains Azure Storage Account Name and Key + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretName") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("secretName is the name of secret that contains Azure Storage Account Name and Key") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String secretName; + + public String getSecretName() { + return secretName; + } + + public void setSecretName(String secretName) { + this.secretName = secretName; + } + + /** + * shareName is the azure share Name + */ + @com.fasterxml.jackson.annotation.JsonProperty("shareName") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("shareName is the azure share Name") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String shareName; + + public String getShareName() { + return shareName; + } + + public void setShareName(String shareName) { + this.shareName = shareName; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Cephfs.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Cephfs.java new file mode 100644 index 0000000..de39674 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Cephfs.java @@ -0,0 +1,106 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"monitors","path","readOnly","secretFile","secretRef","user"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Cephfs implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * monitors is Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + */ + @com.fasterxml.jackson.annotation.JsonProperty("monitors") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("monitors is Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List monitors; + + public java.util.List getMonitors() { + return monitors; + } + + public void setMonitors(java.util.List monitors) { + this.monitors = monitors; + } + + /** + * path is Optional: Used as the mounted root, rather than the full Ceph tree, default is / + */ + @com.fasterxml.jackson.annotation.JsonProperty("path") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String path; + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + /** + * readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + */ + @com.fasterxml.jackson.annotation.JsonProperty("readOnly") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean readOnly; + + public Boolean getReadOnly() { + return readOnly; + } + + public void setReadOnly(Boolean readOnly) { + this.readOnly = readOnly; + } + + /** + * secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretFile") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String secretFile; + + public String getSecretFile() { + return secretFile; + } + + public void setSecretFile(String secretFile) { + this.secretFile = secretFile; + } + + /** + * secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretRef") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.cephfs.SecretRef secretRef; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.cephfs.SecretRef getSecretRef() { + return secretRef; + } + + public void setSecretRef(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.cephfs.SecretRef secretRef) { + this.secretRef = secretRef; + } + + /** + * user is optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + */ + @com.fasterxml.jackson.annotation.JsonProperty("user") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("user is optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String user; + + public String getUser() { + return user; + } + + public void setUser(String user) { + this.user = user; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Cinder.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Cinder.java new file mode 100644 index 0000000..de9d206 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Cinder.java @@ -0,0 +1,74 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"fsType","readOnly","secretRef","volumeID"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Cinder implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + */ + @com.fasterxml.jackson.annotation.JsonProperty("fsType") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String fsType; + + public String getFsType() { + return fsType; + } + + public void setFsType(String fsType) { + this.fsType = fsType; + } + + /** + * readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + */ + @com.fasterxml.jackson.annotation.JsonProperty("readOnly") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean readOnly; + + public Boolean getReadOnly() { + return readOnly; + } + + public void setReadOnly(Boolean readOnly) { + this.readOnly = readOnly; + } + + /** + * secretRef is optional: points to a secret object containing parameters used to connect to OpenStack. + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretRef") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("secretRef is optional: points to a secret object containing parameters used to connect to OpenStack.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.cinder.SecretRef secretRef; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.cinder.SecretRef getSecretRef() { + return secretRef; + } + + public void setSecretRef(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.cinder.SecretRef secretRef) { + this.secretRef = secretRef; + } + + /** + * volumeID used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumeID") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("volumeID used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String volumeID; + + public String getVolumeID() { + return volumeID; + } + + public void setVolumeID(String volumeID) { + this.volumeID = volumeID; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ConfigMap.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ConfigMap.java new file mode 100644 index 0000000..b04d6a0 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ConfigMap.java @@ -0,0 +1,73 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"defaultMode","items","name","optional"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class ConfigMap implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + */ + @com.fasterxml.jackson.annotation.JsonProperty("defaultMode") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer defaultMode; + + public Integer getDefaultMode() { + return defaultMode; + } + + public void setDefaultMode(Integer defaultMode) { + this.defaultMode = defaultMode; + } + + /** + * items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. + */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List items; + + public java.util.List getItems() { + return items; + } + + public void setItems(java.util.List items) { + this.items = items; + } + + /** + * Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * optional specify whether the ConfigMap or its keys must be defined + */ + @com.fasterxml.jackson.annotation.JsonProperty("optional") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("optional specify whether the ConfigMap or its keys must be defined") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean optional; + + public Boolean getOptional() { + return optional; + } + + public void setOptional(Boolean optional) { + this.optional = optional; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Csi.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Csi.java new file mode 100644 index 0000000..217e134 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Csi.java @@ -0,0 +1,90 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"driver","fsType","nodePublishSecretRef","readOnly","volumeAttributes"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Csi implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("driver") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String driver; + + public String getDriver() { + return driver; + } + + public void setDriver(String driver) { + this.driver = driver; + } + + /** + * fsType to mount. Ex. "ext4", "xfs", "ntfs". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply. + */ + @com.fasterxml.jackson.annotation.JsonProperty("fsType") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("fsType to mount. Ex. \"ext4\", \"xfs\", \"ntfs\". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String fsType; + + public String getFsType() { + return fsType; + } + + public void setFsType(String fsType) { + this.fsType = fsType; + } + + /** + * nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed. + */ + @com.fasterxml.jackson.annotation.JsonProperty("nodePublishSecretRef") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.csi.NodePublishSecretRef nodePublishSecretRef; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.csi.NodePublishSecretRef getNodePublishSecretRef() { + return nodePublishSecretRef; + } + + public void setNodePublishSecretRef(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.csi.NodePublishSecretRef nodePublishSecretRef) { + this.nodePublishSecretRef = nodePublishSecretRef; + } + + /** + * readOnly specifies a read-only configuration for the volume. Defaults to false (read/write). + */ + @com.fasterxml.jackson.annotation.JsonProperty("readOnly") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("readOnly specifies a read-only configuration for the volume. Defaults to false (read/write).") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean readOnly; + + public Boolean getReadOnly() { + return readOnly; + } + + public void setReadOnly(Boolean readOnly) { + this.readOnly = readOnly; + } + + /** + * volumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values. + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumeAttributes") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("volumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.Map volumeAttributes; + + public java.util.Map getVolumeAttributes() { + return volumeAttributes; + } + + public void setVolumeAttributes(java.util.Map volumeAttributes) { + this.volumeAttributes = volumeAttributes; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/DownwardAPI.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/DownwardAPI.java new file mode 100644 index 0000000..a2eff0c --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/DownwardAPI.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"defaultMode","items"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class DownwardAPI implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + */ + @com.fasterxml.jackson.annotation.JsonProperty("defaultMode") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer defaultMode; + + public Integer getDefaultMode() { + return defaultMode; + } + + public void setDefaultMode(Integer defaultMode) { + this.defaultMode = defaultMode; + } + + /** + * Items is a list of downward API volume file + */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Items is a list of downward API volume file") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List items; + + public java.util.List getItems() { + return items; + } + + public void setItems(java.util.List items) { + this.items = items; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/EmptyDir.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/EmptyDir.java new file mode 100644 index 0000000..0b45e5c --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/EmptyDir.java @@ -0,0 +1,42 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"medium","sizeLimit"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class EmptyDir implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * medium represents what type of storage medium should back this directory. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + */ + @com.fasterxml.jackson.annotation.JsonProperty("medium") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("medium represents what type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String medium; + + public String getMedium() { + return medium; + } + + public void setMedium(String medium) { + this.medium = medium; + } + + /** + * sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir + */ + @com.fasterxml.jackson.annotation.JsonProperty("sizeLimit") + @io.fabric8.generator.annotation.Pattern("^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.fabric8.kubernetes.api.model.IntOrString sizeLimit; + + public io.fabric8.kubernetes.api.model.IntOrString getSizeLimit() { + return sizeLimit; + } + + public void setSizeLimit(io.fabric8.kubernetes.api.model.IntOrString sizeLimit) { + this.sizeLimit = sizeLimit; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Ephemeral.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Ephemeral.java new file mode 100644 index 0000000..877b853 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Ephemeral.java @@ -0,0 +1,28 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"volumeClaimTemplate"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Ephemeral implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod. The name of the PVC will be `-` where `` is the name from the `PodSpec.Volumes` array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long). + * An existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be useful when manually reconstructing a broken cluster. + * This field is read-only and no changes will be made by Kubernetes to the PVC after it has been created. + * Required, must not be nil. + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumeClaimTemplate") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod. The name of the PVC will be `-` where `` is the name from the `PodSpec.Volumes` array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long). \n An existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be useful when manually reconstructing a broken cluster. \n This field is read-only and no changes will be made by Kubernetes to the PVC after it has been created. \n Required, must not be nil.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.VolumeClaimTemplate volumeClaimTemplate; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.VolumeClaimTemplate getVolumeClaimTemplate() { + return volumeClaimTemplate; + } + + public void setVolumeClaimTemplate(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.VolumeClaimTemplate volumeClaimTemplate) { + this.volumeClaimTemplate = volumeClaimTemplate; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Fc.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Fc.java new file mode 100644 index 0000000..6c0e561 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Fc.java @@ -0,0 +1,89 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"fsType","lun","readOnly","targetWWNs","wwids"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Fc implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. TODO: how do we prevent errors in the filesystem from compromising the machine + */ + @com.fasterxml.jackson.annotation.JsonProperty("fsType") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. TODO: how do we prevent errors in the filesystem from compromising the machine") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String fsType; + + public String getFsType() { + return fsType; + } + + public void setFsType(String fsType) { + this.fsType = fsType; + } + + /** + * lun is Optional: FC target lun number + */ + @com.fasterxml.jackson.annotation.JsonProperty("lun") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("lun is Optional: FC target lun number") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer lun; + + public Integer getLun() { + return lun; + } + + public void setLun(Integer lun) { + this.lun = lun; + } + + /** + * readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + */ + @com.fasterxml.jackson.annotation.JsonProperty("readOnly") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean readOnly; + + public Boolean getReadOnly() { + return readOnly; + } + + public void setReadOnly(Boolean readOnly) { + this.readOnly = readOnly; + } + + /** + * targetWWNs is Optional: FC target worldwide names (WWNs) + */ + @com.fasterxml.jackson.annotation.JsonProperty("targetWWNs") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("targetWWNs is Optional: FC target worldwide names (WWNs)") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List targetWWNs; + + public java.util.List getTargetWWNs() { + return targetWWNs; + } + + public void setTargetWWNs(java.util.List targetWWNs) { + this.targetWWNs = targetWWNs; + } + + /** + * wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously. + */ + @com.fasterxml.jackson.annotation.JsonProperty("wwids") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List wwids; + + public java.util.List getWwids() { + return wwids; + } + + public void setWwids(java.util.List wwids) { + this.wwids = wwids; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/FlexVolume.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/FlexVolume.java new file mode 100644 index 0000000..e2c41a2 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/FlexVolume.java @@ -0,0 +1,90 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"driver","fsType","options","readOnly","secretRef"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class FlexVolume implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * driver is the name of the driver to use for this volume. + */ + @com.fasterxml.jackson.annotation.JsonProperty("driver") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("driver is the name of the driver to use for this volume.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String driver; + + public String getDriver() { + return driver; + } + + public void setDriver(String driver) { + this.driver = driver; + } + + /** + * fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script. + */ + @com.fasterxml.jackson.annotation.JsonProperty("fsType") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". The default filesystem depends on FlexVolume script.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String fsType; + + public String getFsType() { + return fsType; + } + + public void setFsType(String fsType) { + this.fsType = fsType; + } + + /** + * options is Optional: this field holds extra command options if any. + */ + @com.fasterxml.jackson.annotation.JsonProperty("options") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("options is Optional: this field holds extra command options if any.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.Map options; + + public java.util.Map getOptions() { + return options; + } + + public void setOptions(java.util.Map options) { + this.options = options; + } + + /** + * readOnly is Optional: defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + */ + @com.fasterxml.jackson.annotation.JsonProperty("readOnly") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("readOnly is Optional: defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean readOnly; + + public Boolean getReadOnly() { + return readOnly; + } + + public void setReadOnly(Boolean readOnly) { + this.readOnly = readOnly; + } + + /** + * secretRef is Optional: secretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts. + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretRef") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("secretRef is Optional: secretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.flexvolume.SecretRef secretRef; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.flexvolume.SecretRef getSecretRef() { + return secretRef; + } + + public void setSecretRef(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.flexvolume.SecretRef secretRef) { + this.secretRef = secretRef; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Flocker.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Flocker.java new file mode 100644 index 0000000..ad9f698 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Flocker.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"datasetName","datasetUUID"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Flocker implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated + */ + @com.fasterxml.jackson.annotation.JsonProperty("datasetName") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String datasetName; + + public String getDatasetName() { + return datasetName; + } + + public void setDatasetName(String datasetName) { + this.datasetName = datasetName; + } + + /** + * datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset + */ + @com.fasterxml.jackson.annotation.JsonProperty("datasetUUID") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String datasetUUID; + + public String getDatasetUUID() { + return datasetUUID; + } + + public void setDatasetUUID(String datasetUUID) { + this.datasetUUID = datasetUUID; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/GcePersistentDisk.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/GcePersistentDisk.java new file mode 100644 index 0000000..cbd9c65 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/GcePersistentDisk.java @@ -0,0 +1,74 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"fsType","partition","pdName","readOnly"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class GcePersistentDisk implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * fsType is filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk TODO: how do we prevent errors in the filesystem from compromising the machine + */ + @com.fasterxml.jackson.annotation.JsonProperty("fsType") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("fsType is filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk TODO: how do we prevent errors in the filesystem from compromising the machine") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String fsType; + + public String getFsType() { + return fsType; + } + + public void setFsType(String fsType) { + this.fsType = fsType; + } + + /** + * partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + */ + @com.fasterxml.jackson.annotation.JsonProperty("partition") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer partition; + + public Integer getPartition() { + return partition; + } + + public void setPartition(Integer partition) { + this.partition = partition; + } + + /** + * pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + */ + @com.fasterxml.jackson.annotation.JsonProperty("pdName") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String pdName; + + public String getPdName() { + return pdName; + } + + public void setPdName(String pdName) { + this.pdName = pdName; + } + + /** + * readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + */ + @com.fasterxml.jackson.annotation.JsonProperty("readOnly") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean readOnly; + + public Boolean getReadOnly() { + return readOnly; + } + + public void setReadOnly(Boolean readOnly) { + this.readOnly = readOnly; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/GitRepo.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/GitRepo.java new file mode 100644 index 0000000..d9aff75 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/GitRepo.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"directory","repository","revision"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class GitRepo implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * directory is the target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. + */ + @com.fasterxml.jackson.annotation.JsonProperty("directory") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("directory is the target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String directory; + + public String getDirectory() { + return directory; + } + + public void setDirectory(String directory) { + this.directory = directory; + } + + /** + * repository is the URL + */ + @com.fasterxml.jackson.annotation.JsonProperty("repository") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("repository is the URL") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String repository; + + public String getRepository() { + return repository; + } + + public void setRepository(String repository) { + this.repository = repository; + } + + /** + * revision is the commit hash for the specified revision. + */ + @com.fasterxml.jackson.annotation.JsonProperty("revision") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("revision is the commit hash for the specified revision.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String revision; + + public String getRevision() { + return revision; + } + + public void setRevision(String revision) { + this.revision = revision; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Glusterfs.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Glusterfs.java new file mode 100644 index 0000000..e2a5fc9 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Glusterfs.java @@ -0,0 +1,59 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"endpoints","path","readOnly"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Glusterfs implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * endpoints is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + */ + @com.fasterxml.jackson.annotation.JsonProperty("endpoints") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("endpoints is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String endpoints; + + public String getEndpoints() { + return endpoints; + } + + public void setEndpoints(String endpoints) { + this.endpoints = endpoints; + } + + /** + * path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + */ + @com.fasterxml.jackson.annotation.JsonProperty("path") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String path; + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + /** + * readOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + */ + @com.fasterxml.jackson.annotation.JsonProperty("readOnly") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("readOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean readOnly; + + public Boolean getReadOnly() { + return readOnly; + } + + public void setReadOnly(Boolean readOnly) { + this.readOnly = readOnly; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/HostPath.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/HostPath.java new file mode 100644 index 0000000..d4d1056 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/HostPath.java @@ -0,0 +1,42 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"path","type"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class HostPath implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + */ + @com.fasterxml.jackson.annotation.JsonProperty("path") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String path; + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + /** + * type for HostPath Volume Defaults to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + */ + @com.fasterxml.jackson.annotation.JsonProperty("type") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("type for HostPath Volume Defaults to \"\" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String type; + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Iscsi.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Iscsi.java new file mode 100644 index 0000000..b1f81ba --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Iscsi.java @@ -0,0 +1,188 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"chapAuthDiscovery","chapAuthSession","fsType","initiatorName","iqn","iscsiInterface","lun","portals","readOnly","secretRef","targetPortal"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Iscsi implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication + */ + @com.fasterxml.jackson.annotation.JsonProperty("chapAuthDiscovery") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean chapAuthDiscovery; + + public Boolean getChapAuthDiscovery() { + return chapAuthDiscovery; + } + + public void setChapAuthDiscovery(Boolean chapAuthDiscovery) { + this.chapAuthDiscovery = chapAuthDiscovery; + } + + /** + * chapAuthSession defines whether support iSCSI Session CHAP authentication + */ + @com.fasterxml.jackson.annotation.JsonProperty("chapAuthSession") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("chapAuthSession defines whether support iSCSI Session CHAP authentication") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean chapAuthSession; + + public Boolean getChapAuthSession() { + return chapAuthSession; + } + + public void setChapAuthSession(Boolean chapAuthSession) { + this.chapAuthSession = chapAuthSession; + } + + /** + * fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi TODO: how do we prevent errors in the filesystem from compromising the machine + */ + @com.fasterxml.jackson.annotation.JsonProperty("fsType") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi TODO: how do we prevent errors in the filesystem from compromising the machine") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String fsType; + + public String getFsType() { + return fsType; + } + + public void setFsType(String fsType) { + this.fsType = fsType; + } + + /** + * initiatorName is the custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface : will be created for the connection. + */ + @com.fasterxml.jackson.annotation.JsonProperty("initiatorName") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("initiatorName is the custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface : will be created for the connection.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String initiatorName; + + public String getInitiatorName() { + return initiatorName; + } + + public void setInitiatorName(String initiatorName) { + this.initiatorName = initiatorName; + } + + /** + * iqn is the target iSCSI Qualified Name. + */ + @com.fasterxml.jackson.annotation.JsonProperty("iqn") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("iqn is the target iSCSI Qualified Name.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String iqn; + + public String getIqn() { + return iqn; + } + + public void setIqn(String iqn) { + this.iqn = iqn; + } + + /** + * iscsiInterface is the interface Name that uses an iSCSI transport. Defaults to 'default' (tcp). + */ + @com.fasterxml.jackson.annotation.JsonProperty("iscsiInterface") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("iscsiInterface is the interface Name that uses an iSCSI transport. Defaults to 'default' (tcp).") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String iscsiInterface; + + public String getIscsiInterface() { + return iscsiInterface; + } + + public void setIscsiInterface(String iscsiInterface) { + this.iscsiInterface = iscsiInterface; + } + + /** + * lun represents iSCSI Target Lun number. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lun") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("lun represents iSCSI Target Lun number.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer lun; + + public Integer getLun() { + return lun; + } + + public void setLun(Integer lun) { + this.lun = lun; + } + + /** + * portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260). + */ + @com.fasterxml.jackson.annotation.JsonProperty("portals") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List portals; + + public java.util.List getPortals() { + return portals; + } + + public void setPortals(java.util.List portals) { + this.portals = portals; + } + + /** + * readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. + */ + @com.fasterxml.jackson.annotation.JsonProperty("readOnly") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean readOnly; + + public Boolean getReadOnly() { + return readOnly; + } + + public void setReadOnly(Boolean readOnly) { + this.readOnly = readOnly; + } + + /** + * secretRef is the CHAP Secret for iSCSI target and initiator authentication + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretRef") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("secretRef is the CHAP Secret for iSCSI target and initiator authentication") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.iscsi.SecretRef secretRef; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.iscsi.SecretRef getSecretRef() { + return secretRef; + } + + public void setSecretRef(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.iscsi.SecretRef secretRef) { + this.secretRef = secretRef; + } + + /** + * targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260). + */ + @com.fasterxml.jackson.annotation.JsonProperty("targetPortal") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String targetPortal; + + public String getTargetPortal() { + return targetPortal; + } + + public void setTargetPortal(String targetPortal) { + this.targetPortal = targetPortal; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Nfs.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Nfs.java new file mode 100644 index 0000000..77a76e1 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Nfs.java @@ -0,0 +1,59 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"path","readOnly","server"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Nfs implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + */ + @com.fasterxml.jackson.annotation.JsonProperty("path") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String path; + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + /** + * readOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + */ + @com.fasterxml.jackson.annotation.JsonProperty("readOnly") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("readOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean readOnly; + + public Boolean getReadOnly() { + return readOnly; + } + + public void setReadOnly(Boolean readOnly) { + this.readOnly = readOnly; + } + + /** + * server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + */ + @com.fasterxml.jackson.annotation.JsonProperty("server") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String server; + + public String getServer() { + return server; + } + + public void setServer(String server) { + this.server = server; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/PersistentVolumeClaim.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/PersistentVolumeClaim.java new file mode 100644 index 0000000..4715530 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/PersistentVolumeClaim.java @@ -0,0 +1,42 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"claimName","readOnly"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class PersistentVolumeClaim implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + */ + @com.fasterxml.jackson.annotation.JsonProperty("claimName") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String claimName; + + public String getClaimName() { + return claimName; + } + + public void setClaimName(String claimName) { + this.claimName = claimName; + } + + /** + * readOnly Will force the ReadOnly setting in VolumeMounts. Default false. + */ + @com.fasterxml.jackson.annotation.JsonProperty("readOnly") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("readOnly Will force the ReadOnly setting in VolumeMounts. Default false.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean readOnly; + + public Boolean getReadOnly() { + return readOnly; + } + + public void setReadOnly(Boolean readOnly) { + this.readOnly = readOnly; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/PhotonPersistentDisk.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/PhotonPersistentDisk.java new file mode 100644 index 0000000..2e63b73 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/PhotonPersistentDisk.java @@ -0,0 +1,42 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"fsType","pdID"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class PhotonPersistentDisk implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + */ + @com.fasterxml.jackson.annotation.JsonProperty("fsType") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String fsType; + + public String getFsType() { + return fsType; + } + + public void setFsType(String fsType) { + this.fsType = fsType; + } + + /** + * pdID is the ID that identifies Photon Controller persistent disk + */ + @com.fasterxml.jackson.annotation.JsonProperty("pdID") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("pdID is the ID that identifies Photon Controller persistent disk") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String pdID; + + public String getPdID() { + return pdID; + } + + public void setPdID(String pdID) { + this.pdID = pdID; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/PortworxVolume.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/PortworxVolume.java new file mode 100644 index 0000000..b949142 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/PortworxVolume.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"fsType","readOnly","volumeID"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class PortworxVolume implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * fSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified. + */ + @com.fasterxml.jackson.annotation.JsonProperty("fsType") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("fSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String fsType; + + public String getFsType() { + return fsType; + } + + public void setFsType(String fsType) { + this.fsType = fsType; + } + + /** + * readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + */ + @com.fasterxml.jackson.annotation.JsonProperty("readOnly") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean readOnly; + + public Boolean getReadOnly() { + return readOnly; + } + + public void setReadOnly(Boolean readOnly) { + this.readOnly = readOnly; + } + + /** + * volumeID uniquely identifies a Portworx volume + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumeID") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("volumeID uniquely identifies a Portworx volume") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String volumeID; + + public String getVolumeID() { + return volumeID; + } + + public void setVolumeID(String volumeID) { + this.volumeID = volumeID; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Projected.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Projected.java new file mode 100644 index 0000000..0e8c431 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Projected.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"defaultMode","sources"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Projected implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + */ + @com.fasterxml.jackson.annotation.JsonProperty("defaultMode") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer defaultMode; + + public Integer getDefaultMode() { + return defaultMode; + } + + public void setDefaultMode(Integer defaultMode) { + this.defaultMode = defaultMode; + } + + /** + * sources is the list of volume projections + */ + @com.fasterxml.jackson.annotation.JsonProperty("sources") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("sources is the list of volume projections") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List sources; + + public java.util.List getSources() { + return sources; + } + + public void setSources(java.util.List sources) { + this.sources = sources; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Quobyte.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Quobyte.java new file mode 100644 index 0000000..84a8edd --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Quobyte.java @@ -0,0 +1,107 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"group","readOnly","registry","tenant","user","volume"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Quobyte implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * group to map volume access to Default is no group + */ + @com.fasterxml.jackson.annotation.JsonProperty("group") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("group to map volume access to Default is no group") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String group; + + public String getGroup() { + return group; + } + + public void setGroup(String group) { + this.group = group; + } + + /** + * readOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false. + */ + @com.fasterxml.jackson.annotation.JsonProperty("readOnly") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("readOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean readOnly; + + public Boolean getReadOnly() { + return readOnly; + } + + public void setReadOnly(Boolean readOnly) { + this.readOnly = readOnly; + } + + /** + * registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes + */ + @com.fasterxml.jackson.annotation.JsonProperty("registry") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String registry; + + public String getRegistry() { + return registry; + } + + public void setRegistry(String registry) { + this.registry = registry; + } + + /** + * tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin + */ + @com.fasterxml.jackson.annotation.JsonProperty("tenant") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String tenant; + + public String getTenant() { + return tenant; + } + + public void setTenant(String tenant) { + this.tenant = tenant; + } + + /** + * user to map volume access to Defaults to serivceaccount user + */ + @com.fasterxml.jackson.annotation.JsonProperty("user") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("user to map volume access to Defaults to serivceaccount user") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String user; + + public String getUser() { + return user; + } + + public void setUser(String user) { + this.user = user; + } + + /** + * volume is a string that references an already created Quobyte volume by name. + */ + @com.fasterxml.jackson.annotation.JsonProperty("volume") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("volume is a string that references an already created Quobyte volume by name.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String volume; + + public String getVolume() { + return volume; + } + + public void setVolume(String volume) { + this.volume = volume; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Rbd.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Rbd.java new file mode 100644 index 0000000..872b464 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Rbd.java @@ -0,0 +1,139 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"fsType","image","keyring","monitors","pool","readOnly","secretRef","user"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Rbd implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd TODO: how do we prevent errors in the filesystem from compromising the machine + */ + @com.fasterxml.jackson.annotation.JsonProperty("fsType") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd TODO: how do we prevent errors in the filesystem from compromising the machine") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String fsType; + + public String getFsType() { + return fsType; + } + + public void setFsType(String fsType) { + this.fsType = fsType; + } + + /** + * image is the rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + */ + @com.fasterxml.jackson.annotation.JsonProperty("image") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("image is the rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String image; + + public String getImage() { + return image; + } + + public void setImage(String image) { + this.image = image; + } + + /** + * keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + */ + @com.fasterxml.jackson.annotation.JsonProperty("keyring") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String keyring; + + public String getKeyring() { + return keyring; + } + + public void setKeyring(String keyring) { + this.keyring = keyring; + } + + /** + * monitors is a collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + */ + @com.fasterxml.jackson.annotation.JsonProperty("monitors") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("monitors is a collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List monitors; + + public java.util.List getMonitors() { + return monitors; + } + + public void setMonitors(java.util.List monitors) { + this.monitors = monitors; + } + + /** + * pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + */ + @com.fasterxml.jackson.annotation.JsonProperty("pool") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String pool; + + public String getPool() { + return pool; + } + + public void setPool(String pool) { + this.pool = pool; + } + + /** + * readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + */ + @com.fasterxml.jackson.annotation.JsonProperty("readOnly") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean readOnly; + + public Boolean getReadOnly() { + return readOnly; + } + + public void setReadOnly(Boolean readOnly) { + this.readOnly = readOnly; + } + + /** + * secretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretRef") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("secretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.rbd.SecretRef secretRef; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.rbd.SecretRef getSecretRef() { + return secretRef; + } + + public void setSecretRef(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.rbd.SecretRef secretRef) { + this.secretRef = secretRef; + } + + /** + * user is the rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + */ + @com.fasterxml.jackson.annotation.JsonProperty("user") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("user is the rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String user; + + public String getUser() { + return user; + } + + public void setUser(String user) { + this.user = user; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ScaleIO.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ScaleIO.java new file mode 100644 index 0000000..8e09bcf --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ScaleIO.java @@ -0,0 +1,172 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"fsType","gateway","protectionDomain","readOnly","secretRef","sslEnabled","storageMode","storagePool","system","volumeName"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class ScaleIO implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Default is "xfs". + */ + @com.fasterxml.jackson.annotation.JsonProperty("fsType") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Default is \"xfs\".") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String fsType; + + public String getFsType() { + return fsType; + } + + public void setFsType(String fsType) { + this.fsType = fsType; + } + + /** + * gateway is the host address of the ScaleIO API Gateway. + */ + @com.fasterxml.jackson.annotation.JsonProperty("gateway") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("gateway is the host address of the ScaleIO API Gateway.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String gateway; + + public String getGateway() { + return gateway; + } + + public void setGateway(String gateway) { + this.gateway = gateway; + } + + /** + * protectionDomain is the name of the ScaleIO Protection Domain for the configured storage. + */ + @com.fasterxml.jackson.annotation.JsonProperty("protectionDomain") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("protectionDomain is the name of the ScaleIO Protection Domain for the configured storage.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String protectionDomain; + + public String getProtectionDomain() { + return protectionDomain; + } + + public void setProtectionDomain(String protectionDomain) { + this.protectionDomain = protectionDomain; + } + + /** + * readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + */ + @com.fasterxml.jackson.annotation.JsonProperty("readOnly") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean readOnly; + + public Boolean getReadOnly() { + return readOnly; + } + + public void setReadOnly(Boolean readOnly) { + this.readOnly = readOnly; + } + + /** + * secretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail. + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretRef") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("secretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.scaleio.SecretRef secretRef; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.scaleio.SecretRef getSecretRef() { + return secretRef; + } + + public void setSecretRef(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.scaleio.SecretRef secretRef) { + this.secretRef = secretRef; + } + + /** + * sslEnabled Flag enable/disable SSL communication with Gateway, default false + */ + @com.fasterxml.jackson.annotation.JsonProperty("sslEnabled") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("sslEnabled Flag enable/disable SSL communication with Gateway, default false") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean sslEnabled; + + public Boolean getSslEnabled() { + return sslEnabled; + } + + public void setSslEnabled(Boolean sslEnabled) { + this.sslEnabled = sslEnabled; + } + + /** + * storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned. + */ + @com.fasterxml.jackson.annotation.JsonProperty("storageMode") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String storageMode; + + public String getStorageMode() { + return storageMode; + } + + public void setStorageMode(String storageMode) { + this.storageMode = storageMode; + } + + /** + * storagePool is the ScaleIO Storage Pool associated with the protection domain. + */ + @com.fasterxml.jackson.annotation.JsonProperty("storagePool") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("storagePool is the ScaleIO Storage Pool associated with the protection domain.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String storagePool; + + public String getStoragePool() { + return storagePool; + } + + public void setStoragePool(String storagePool) { + this.storagePool = storagePool; + } + + /** + * system is the name of the storage system as configured in ScaleIO. + */ + @com.fasterxml.jackson.annotation.JsonProperty("system") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("system is the name of the storage system as configured in ScaleIO.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String system; + + public String getSystem() { + return system; + } + + public void setSystem(String system) { + this.system = system; + } + + /** + * volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source. + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumeName") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String volumeName; + + public String getVolumeName() { + return volumeName; + } + + public void setVolumeName(String volumeName) { + this.volumeName = volumeName; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Secret.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Secret.java new file mode 100644 index 0000000..5f042d4 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Secret.java @@ -0,0 +1,73 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"defaultMode","items","optional","secretName"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Secret implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + */ + @com.fasterxml.jackson.annotation.JsonProperty("defaultMode") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer defaultMode; + + public Integer getDefaultMode() { + return defaultMode; + } + + public void setDefaultMode(Integer defaultMode) { + this.defaultMode = defaultMode; + } + + /** + * items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. + */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List items; + + public java.util.List getItems() { + return items; + } + + public void setItems(java.util.List items) { + this.items = items; + } + + /** + * optional field specify whether the Secret or its keys must be defined + */ + @com.fasterxml.jackson.annotation.JsonProperty("optional") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("optional field specify whether the Secret or its keys must be defined") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean optional; + + public Boolean getOptional() { + return optional; + } + + public void setOptional(Boolean optional) { + this.optional = optional; + } + + /** + * secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretName") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String secretName; + + public String getSecretName() { + return secretName; + } + + public void setSecretName(String secretName) { + this.secretName = secretName; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Storageos.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Storageos.java new file mode 100644 index 0000000..c601008 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/Storageos.java @@ -0,0 +1,89 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"fsType","readOnly","secretRef","volumeName","volumeNamespace"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Storageos implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + */ + @com.fasterxml.jackson.annotation.JsonProperty("fsType") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String fsType; + + public String getFsType() { + return fsType; + } + + public void setFsType(String fsType) { + this.fsType = fsType; + } + + /** + * readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + */ + @com.fasterxml.jackson.annotation.JsonProperty("readOnly") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean readOnly; + + public Boolean getReadOnly() { + return readOnly; + } + + public void setReadOnly(Boolean readOnly) { + this.readOnly = readOnly; + } + + /** + * secretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted. + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretRef") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("secretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.storageos.SecretRef secretRef; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.storageos.SecretRef getSecretRef() { + return secretRef; + } + + public void setSecretRef(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.storageos.SecretRef secretRef) { + this.secretRef = secretRef; + } + + /** + * volumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace. + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumeName") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("volumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String volumeName; + + public String getVolumeName() { + return volumeName; + } + + public void setVolumeName(String volumeName) { + this.volumeName = volumeName; + } + + /** + * volumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to "default" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created. + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumeNamespace") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("volumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to \"default\" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String volumeNamespace; + + public String getVolumeNamespace() { + return volumeNamespace; + } + + public void setVolumeNamespace(String volumeNamespace) { + this.volumeNamespace = volumeNamespace; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/VsphereVolume.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/VsphereVolume.java new file mode 100644 index 0000000..4e9bbe4 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/VsphereVolume.java @@ -0,0 +1,74 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"fsType","storagePolicyID","storagePolicyName","volumePath"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class VsphereVolume implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * fsType is filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + */ + @com.fasterxml.jackson.annotation.JsonProperty("fsType") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("fsType is filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String fsType; + + public String getFsType() { + return fsType; + } + + public void setFsType(String fsType) { + this.fsType = fsType; + } + + /** + * storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName. + */ + @com.fasterxml.jackson.annotation.JsonProperty("storagePolicyID") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String storagePolicyID; + + public String getStoragePolicyID() { + return storagePolicyID; + } + + public void setStoragePolicyID(String storagePolicyID) { + this.storagePolicyID = storagePolicyID; + } + + /** + * storagePolicyName is the storage Policy Based Management (SPBM) profile name. + */ + @com.fasterxml.jackson.annotation.JsonProperty("storagePolicyName") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("storagePolicyName is the storage Policy Based Management (SPBM) profile name.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String storagePolicyName; + + public String getStoragePolicyName() { + return storagePolicyName; + } + + public void setStoragePolicyName(String storagePolicyName) { + this.storagePolicyName = storagePolicyName; + } + + /** + * volumePath is the path that identifies vSphere volume vmdk + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumePath") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("volumePath is the path that identifies vSphere volume vmdk") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String volumePath; + + public String getVolumePath() { + return volumePath; + } + + public void setVolumePath(String volumePath) { + this.volumePath = volumePath; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/cephfs/SecretRef.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/cephfs/SecretRef.java new file mode 100644 index 0000000..e7cdddd --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/cephfs/SecretRef.java @@ -0,0 +1,25 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.cephfs; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"name"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class SecretRef implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/cinder/SecretRef.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/cinder/SecretRef.java new file mode 100644 index 0000000..3749572 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/cinder/SecretRef.java @@ -0,0 +1,25 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.cinder; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"name"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class SecretRef implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/configmap/Items.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/configmap/Items.java new file mode 100644 index 0000000..8afd288 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/configmap/Items.java @@ -0,0 +1,59 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.configmap; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"key","mode","path"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Items implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * key is the key to project. + */ + @com.fasterxml.jackson.annotation.JsonProperty("key") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("key is the key to project.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String key; + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + /** + * mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + */ + @com.fasterxml.jackson.annotation.JsonProperty("mode") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer mode; + + public Integer getMode() { + return mode; + } + + public void setMode(Integer mode) { + this.mode = mode; + } + + /** + * path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. + */ + @com.fasterxml.jackson.annotation.JsonProperty("path") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String path; + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/csi/NodePublishSecretRef.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/csi/NodePublishSecretRef.java new file mode 100644 index 0000000..735a6ff --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/csi/NodePublishSecretRef.java @@ -0,0 +1,25 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.csi; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"name"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class NodePublishSecretRef implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/downwardapi/Items.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/downwardapi/Items.java new file mode 100644 index 0000000..d21a3e3 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/downwardapi/Items.java @@ -0,0 +1,74 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.downwardapi; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"fieldRef","mode","path","resourceFieldRef"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Items implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + */ + @com.fasterxml.jackson.annotation.JsonProperty("fieldRef") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.downwardapi.items.FieldRef fieldRef; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.downwardapi.items.FieldRef getFieldRef() { + return fieldRef; + } + + public void setFieldRef(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.downwardapi.items.FieldRef fieldRef) { + this.fieldRef = fieldRef; + } + + /** + * Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + */ + @com.fasterxml.jackson.annotation.JsonProperty("mode") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer mode; + + public Integer getMode() { + return mode; + } + + public void setMode(Integer mode) { + this.mode = mode; + } + + /** + * Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' + */ + @com.fasterxml.jackson.annotation.JsonProperty("path") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String path; + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + /** + * Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + */ + @com.fasterxml.jackson.annotation.JsonProperty("resourceFieldRef") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.downwardapi.items.ResourceFieldRef resourceFieldRef; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.downwardapi.items.ResourceFieldRef getResourceFieldRef() { + return resourceFieldRef; + } + + public void setResourceFieldRef(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.downwardapi.items.ResourceFieldRef resourceFieldRef) { + this.resourceFieldRef = resourceFieldRef; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/downwardapi/items/FieldRef.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/downwardapi/items/FieldRef.java new file mode 100644 index 0000000..3028531 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/downwardapi/items/FieldRef.java @@ -0,0 +1,42 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.downwardapi.items; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"apiVersion","fieldPath"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class FieldRef implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Version of the schema the FieldPath is written in terms of, defaults to "v1". + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiVersion") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Version of the schema the FieldPath is written in terms of, defaults to \"v1\".") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String apiVersion; + + public String getApiVersion() { + return apiVersion; + } + + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + /** + * Path of the field to select in the specified API version. + */ + @com.fasterxml.jackson.annotation.JsonProperty("fieldPath") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Path of the field to select in the specified API version.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String fieldPath; + + public String getFieldPath() { + return fieldPath; + } + + public void setFieldPath(String fieldPath) { + this.fieldPath = fieldPath; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/downwardapi/items/ResourceFieldRef.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/downwardapi/items/ResourceFieldRef.java new file mode 100644 index 0000000..7259165 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/downwardapi/items/ResourceFieldRef.java @@ -0,0 +1,59 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.downwardapi.items; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"containerName","divisor","resource"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class ResourceFieldRef implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Container name: required for volumes, optional for env vars + */ + @com.fasterxml.jackson.annotation.JsonProperty("containerName") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Container name: required for volumes, optional for env vars") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String containerName; + + public String getContainerName() { + return containerName; + } + + public void setContainerName(String containerName) { + this.containerName = containerName; + } + + /** + * Specifies the output format of the exposed resources, defaults to "1" + */ + @com.fasterxml.jackson.annotation.JsonProperty("divisor") + @io.fabric8.generator.annotation.Pattern("^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Specifies the output format of the exposed resources, defaults to \"1\"") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.fabric8.kubernetes.api.model.IntOrString divisor; + + public io.fabric8.kubernetes.api.model.IntOrString getDivisor() { + return divisor; + } + + public void setDivisor(io.fabric8.kubernetes.api.model.IntOrString divisor) { + this.divisor = divisor; + } + + /** + * Required: resource to select + */ + @com.fasterxml.jackson.annotation.JsonProperty("resource") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Required: resource to select") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String resource; + + public String getResource() { + return resource; + } + + public void setResource(String resource) { + this.resource = resource; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/VolumeClaimTemplate.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/VolumeClaimTemplate.java new file mode 100644 index 0000000..9116a2e --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/VolumeClaimTemplate.java @@ -0,0 +1,42 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"metadata","spec"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class VolumeClaimTemplate implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * May contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation. + */ + @com.fasterxml.jackson.annotation.JsonProperty("metadata") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("May contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.Metadata metadata; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.Metadata getMetadata() { + return metadata; + } + + public void setMetadata(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.Metadata metadata) { + this.metadata = metadata; + } + + /** + * The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here. + */ + @com.fasterxml.jackson.annotation.JsonProperty("spec") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.Spec spec; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.Spec getSpec() { + return spec; + } + + public void setSpec(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.Spec spec) { + this.spec = spec; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/Metadata.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/Metadata.java new file mode 100644 index 0000000..82dab43 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/Metadata.java @@ -0,0 +1,9 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Metadata implements io.fabric8.kubernetes.api.model.KubernetesResource { +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/Spec.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/Spec.java new file mode 100644 index 0000000..2d15a3f --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/Spec.java @@ -0,0 +1,137 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"accessModes","dataSource","dataSourceRef","resources","selector","storageClassName","volumeMode","volumeName"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Spec implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 + */ + @com.fasterxml.jackson.annotation.JsonProperty("accessModes") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List accessModes; + + public java.util.List getAccessModes() { + return accessModes; + } + + public void setAccessModes(java.util.List accessModes) { + this.accessModes = accessModes; + } + + /** + * dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("dataSource") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.spec.DataSource dataSource; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.spec.DataSource getDataSource() { + return dataSource; + } + + public void setDataSource(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.spec.DataSource dataSource) { + this.dataSource = dataSource; + } + + /** + * dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + */ + @com.fasterxml.jackson.annotation.JsonProperty("dataSourceRef") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.spec.DataSourceRef dataSourceRef; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.spec.DataSourceRef getDataSourceRef() { + return dataSourceRef; + } + + public void setDataSourceRef(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.spec.DataSourceRef dataSourceRef) { + this.dataSourceRef = dataSourceRef; + } + + /** + * resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + */ + @com.fasterxml.jackson.annotation.JsonProperty("resources") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.spec.Resources resources; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.spec.Resources getResources() { + return resources; + } + + public void setResources(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.spec.Resources resources) { + this.resources = resources; + } + + /** + * selector is a label query over volumes to consider for binding. + */ + @com.fasterxml.jackson.annotation.JsonProperty("selector") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("selector is a label query over volumes to consider for binding.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.spec.Selector selector; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.spec.Selector getSelector() { + return selector; + } + + public void setSelector(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.spec.Selector selector) { + this.selector = selector; + } + + /** + * storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 + */ + @com.fasterxml.jackson.annotation.JsonProperty("storageClassName") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String storageClassName; + + public String getStorageClassName() { + return storageClassName; + } + + public void setStorageClassName(String storageClassName) { + this.storageClassName = storageClassName; + } + + /** + * volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumeMode") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String volumeMode; + + public String getVolumeMode() { + return volumeMode; + } + + public void setVolumeMode(String volumeMode) { + this.volumeMode = volumeMode; + } + + /** + * volumeName is the binding reference to the PersistentVolume backing this claim. + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumeName") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("volumeName is the binding reference to the PersistentVolume backing this claim.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String volumeName; + + public String getVolumeName() { + return volumeName; + } + + public void setVolumeName(String volumeName) { + this.volumeName = volumeName; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/DataSource.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/DataSource.java new file mode 100644 index 0000000..422e810 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/DataSource.java @@ -0,0 +1,59 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.spec; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"apiGroup","kind","name"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class DataSource implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiGroup") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String apiGroup; + + public String getApiGroup() { + return apiGroup; + } + + public void setApiGroup(String apiGroup) { + this.apiGroup = apiGroup; + } + + /** + * Kind is the type of resource being referenced + */ + @com.fasterxml.jackson.annotation.JsonProperty("kind") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Kind is the type of resource being referenced") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String kind; + + public String getKind() { + return kind; + } + + public void setKind(String kind) { + this.kind = kind; + } + + /** + * Name is the name of resource being referenced + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name is the name of resource being referenced") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/DataSourceRef.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/DataSourceRef.java new file mode 100644 index 0000000..7a98915 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/DataSourceRef.java @@ -0,0 +1,75 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.spec; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"apiGroup","kind","name","namespace"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class DataSourceRef implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiGroup") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String apiGroup; + + public String getApiGroup() { + return apiGroup; + } + + public void setApiGroup(String apiGroup) { + this.apiGroup = apiGroup; + } + + /** + * Kind is the type of resource being referenced + */ + @com.fasterxml.jackson.annotation.JsonProperty("kind") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Kind is the type of resource being referenced") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String kind; + + public String getKind() { + return kind; + } + + public void setKind(String kind) { + this.kind = kind; + } + + /** + * Name is the name of resource being referenced + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name is the name of resource being referenced") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + */ + @com.fasterxml.jackson.annotation.JsonProperty("namespace") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String namespace; + + public String getNamespace() { + return namespace; + } + + public void setNamespace(String namespace) { + this.namespace = namespace; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/Resources.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/Resources.java new file mode 100644 index 0000000..804f186 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/Resources.java @@ -0,0 +1,59 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.spec; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"claims","limits","requests"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Resources implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + * This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + * This field is immutable. + */ + @com.fasterxml.jackson.annotation.JsonProperty("claims") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List claims; + + public java.util.List getClaims() { + return claims; + } + + public void setClaims(java.util.List claims) { + this.claims = claims; + } + + /** + * Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + */ + @com.fasterxml.jackson.annotation.JsonProperty("limits") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.Map limits; + + public java.util.Map getLimits() { + return limits; + } + + public void setLimits(java.util.Map limits) { + this.limits = limits; + } + + /** + * Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + */ + @com.fasterxml.jackson.annotation.JsonProperty("requests") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.Map requests; + + public java.util.Map getRequests() { + return requests; + } + + public void setRequests(java.util.Map requests) { + this.requests = requests; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/Selector.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/Selector.java new file mode 100644 index 0000000..174df1c --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/Selector.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.spec; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"matchExpressions","matchLabels"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Selector implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * matchExpressions is a list of label selector requirements. The requirements are ANDed. + */ + @com.fasterxml.jackson.annotation.JsonProperty("matchExpressions") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("matchExpressions is a list of label selector requirements. The requirements are ANDed.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List matchExpressions; + + public java.util.List getMatchExpressions() { + return matchExpressions; + } + + public void setMatchExpressions(java.util.List matchExpressions) { + this.matchExpressions = matchExpressions; + } + + /** + * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + */ + @com.fasterxml.jackson.annotation.JsonProperty("matchLabels") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.Map matchLabels; + + public java.util.Map getMatchLabels() { + return matchLabels; + } + + public void setMatchLabels(java.util.Map matchLabels) { + this.matchLabels = matchLabels; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/resources/Claims.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/resources/Claims.java new file mode 100644 index 0000000..96cea18 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/resources/Claims.java @@ -0,0 +1,26 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.spec.resources; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"name"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Claims implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/selector/MatchExpressions.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/selector/MatchExpressions.java new file mode 100644 index 0000000..14a40ea --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/ephemeral/volumeclaimtemplate/spec/selector/MatchExpressions.java @@ -0,0 +1,59 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.ephemeral.volumeclaimtemplate.spec.selector; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"key","operator","values"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class MatchExpressions implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * key is the label key that the selector applies to. + */ + @com.fasterxml.jackson.annotation.JsonProperty("key") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("key is the label key that the selector applies to.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String key; + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + /** + * operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + */ + @com.fasterxml.jackson.annotation.JsonProperty("operator") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String operator; + + public String getOperator() { + return operator; + } + + public void setOperator(String operator) { + this.operator = operator; + } + + /** + * values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + */ + @com.fasterxml.jackson.annotation.JsonProperty("values") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List values; + + public java.util.List getValues() { + return values; + } + + public void setValues(java.util.List values) { + this.values = values; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/flexvolume/SecretRef.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/flexvolume/SecretRef.java new file mode 100644 index 0000000..946ab50 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/flexvolume/SecretRef.java @@ -0,0 +1,25 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.flexvolume; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"name"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class SecretRef implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/iscsi/SecretRef.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/iscsi/SecretRef.java new file mode 100644 index 0000000..c5acf48 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/iscsi/SecretRef.java @@ -0,0 +1,25 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.iscsi; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"name"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class SecretRef implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/Sources.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/Sources.java new file mode 100644 index 0000000..9afe425 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/Sources.java @@ -0,0 +1,73 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"configMap","downwardAPI","secret","serviceAccountToken"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Sources implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * configMap information about the configMap data to project + */ + @com.fasterxml.jackson.annotation.JsonProperty("configMap") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("configMap information about the configMap data to project") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.ConfigMap configMap; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.ConfigMap getConfigMap() { + return configMap; + } + + public void setConfigMap(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.ConfigMap configMap) { + this.configMap = configMap; + } + + /** + * downwardAPI information about the downwardAPI data to project + */ + @com.fasterxml.jackson.annotation.JsonProperty("downwardAPI") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("downwardAPI information about the downwardAPI data to project") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.DownwardAPI downwardAPI; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.DownwardAPI getDownwardAPI() { + return downwardAPI; + } + + public void setDownwardAPI(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.DownwardAPI downwardAPI) { + this.downwardAPI = downwardAPI; + } + + /** + * secret information about the secret data to project + */ + @com.fasterxml.jackson.annotation.JsonProperty("secret") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("secret information about the secret data to project") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.Secret secret; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.Secret getSecret() { + return secret; + } + + public void setSecret(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.Secret secret) { + this.secret = secret; + } + + /** + * serviceAccountToken is information about the serviceAccountToken data to project + */ + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountToken") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("serviceAccountToken is information about the serviceAccountToken data to project") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.ServiceAccountToken serviceAccountToken; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.ServiceAccountToken getServiceAccountToken() { + return serviceAccountToken; + } + + public void setServiceAccountToken(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.ServiceAccountToken serviceAccountToken) { + this.serviceAccountToken = serviceAccountToken; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/ConfigMap.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/ConfigMap.java new file mode 100644 index 0000000..0b5ef75 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/ConfigMap.java @@ -0,0 +1,57 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"items","name","optional"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class ConfigMap implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. + */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List items; + + public java.util.List getItems() { + return items; + } + + public void setItems(java.util.List items) { + this.items = items; + } + + /** + * Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * optional specify whether the ConfigMap or its keys must be defined + */ + @com.fasterxml.jackson.annotation.JsonProperty("optional") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("optional specify whether the ConfigMap or its keys must be defined") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean optional; + + public Boolean getOptional() { + return optional; + } + + public void setOptional(Boolean optional) { + this.optional = optional; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/DownwardAPI.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/DownwardAPI.java new file mode 100644 index 0000000..7f105c6 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/DownwardAPI.java @@ -0,0 +1,25 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"items"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class DownwardAPI implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Items is a list of DownwardAPIVolume file + */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Items is a list of DownwardAPIVolume file") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List items; + + public java.util.List getItems() { + return items; + } + + public void setItems(java.util.List items) { + this.items = items; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/Secret.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/Secret.java new file mode 100644 index 0000000..7556e55 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/Secret.java @@ -0,0 +1,57 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"items","name","optional"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Secret implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. + */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List items; + + public java.util.List getItems() { + return items; + } + + public void setItems(java.util.List items) { + this.items = items; + } + + /** + * Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * optional field specify whether the Secret or its key must be defined + */ + @com.fasterxml.jackson.annotation.JsonProperty("optional") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("optional field specify whether the Secret or its key must be defined") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean optional; + + public Boolean getOptional() { + return optional; + } + + public void setOptional(Boolean optional) { + this.optional = optional; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/ServiceAccountToken.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/ServiceAccountToken.java new file mode 100644 index 0000000..a6e739e --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/ServiceAccountToken.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"audience","expirationSeconds","path"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class ServiceAccountToken implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver. + */ + @com.fasterxml.jackson.annotation.JsonProperty("audience") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String audience; + + public String getAudience() { + return audience; + } + + public void setAudience(String audience) { + this.audience = audience; + } + + /** + * expirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes. + */ + @com.fasterxml.jackson.annotation.JsonProperty("expirationSeconds") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("expirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Long expirationSeconds; + + public Long getExpirationSeconds() { + return expirationSeconds; + } + + public void setExpirationSeconds(Long expirationSeconds) { + this.expirationSeconds = expirationSeconds; + } + + /** + * path is the path relative to the mount point of the file to project the token into. + */ + @com.fasterxml.jackson.annotation.JsonProperty("path") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("path is the path relative to the mount point of the file to project the token into.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String path; + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/configmap/Items.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/configmap/Items.java new file mode 100644 index 0000000..70fcda1 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/configmap/Items.java @@ -0,0 +1,59 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.configmap; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"key","mode","path"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Items implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * key is the key to project. + */ + @com.fasterxml.jackson.annotation.JsonProperty("key") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("key is the key to project.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String key; + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + /** + * mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + */ + @com.fasterxml.jackson.annotation.JsonProperty("mode") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer mode; + + public Integer getMode() { + return mode; + } + + public void setMode(Integer mode) { + this.mode = mode; + } + + /** + * path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. + */ + @com.fasterxml.jackson.annotation.JsonProperty("path") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String path; + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/downwardapi/Items.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/downwardapi/Items.java new file mode 100644 index 0000000..15d54a5 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/downwardapi/Items.java @@ -0,0 +1,74 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.downwardapi; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"fieldRef","mode","path","resourceFieldRef"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Items implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + */ + @com.fasterxml.jackson.annotation.JsonProperty("fieldRef") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.downwardapi.items.FieldRef fieldRef; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.downwardapi.items.FieldRef getFieldRef() { + return fieldRef; + } + + public void setFieldRef(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.downwardapi.items.FieldRef fieldRef) { + this.fieldRef = fieldRef; + } + + /** + * Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + */ + @com.fasterxml.jackson.annotation.JsonProperty("mode") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer mode; + + public Integer getMode() { + return mode; + } + + public void setMode(Integer mode) { + this.mode = mode; + } + + /** + * Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' + */ + @com.fasterxml.jackson.annotation.JsonProperty("path") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String path; + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + /** + * Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + */ + @com.fasterxml.jackson.annotation.JsonProperty("resourceFieldRef") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.downwardapi.items.ResourceFieldRef resourceFieldRef; + + public io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.downwardapi.items.ResourceFieldRef getResourceFieldRef() { + return resourceFieldRef; + } + + public void setResourceFieldRef(io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.downwardapi.items.ResourceFieldRef resourceFieldRef) { + this.resourceFieldRef = resourceFieldRef; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/downwardapi/items/FieldRef.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/downwardapi/items/FieldRef.java new file mode 100644 index 0000000..7cd342a --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/downwardapi/items/FieldRef.java @@ -0,0 +1,42 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.downwardapi.items; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"apiVersion","fieldPath"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class FieldRef implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Version of the schema the FieldPath is written in terms of, defaults to "v1". + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiVersion") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Version of the schema the FieldPath is written in terms of, defaults to \"v1\".") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String apiVersion; + + public String getApiVersion() { + return apiVersion; + } + + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + /** + * Path of the field to select in the specified API version. + */ + @com.fasterxml.jackson.annotation.JsonProperty("fieldPath") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Path of the field to select in the specified API version.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String fieldPath; + + public String getFieldPath() { + return fieldPath; + } + + public void setFieldPath(String fieldPath) { + this.fieldPath = fieldPath; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/downwardapi/items/ResourceFieldRef.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/downwardapi/items/ResourceFieldRef.java new file mode 100644 index 0000000..a613a67 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/downwardapi/items/ResourceFieldRef.java @@ -0,0 +1,59 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.downwardapi.items; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"containerName","divisor","resource"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class ResourceFieldRef implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Container name: required for volumes, optional for env vars + */ + @com.fasterxml.jackson.annotation.JsonProperty("containerName") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Container name: required for volumes, optional for env vars") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String containerName; + + public String getContainerName() { + return containerName; + } + + public void setContainerName(String containerName) { + this.containerName = containerName; + } + + /** + * Specifies the output format of the exposed resources, defaults to "1" + */ + @com.fasterxml.jackson.annotation.JsonProperty("divisor") + @io.fabric8.generator.annotation.Pattern("^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Specifies the output format of the exposed resources, defaults to \"1\"") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.fabric8.kubernetes.api.model.IntOrString divisor; + + public io.fabric8.kubernetes.api.model.IntOrString getDivisor() { + return divisor; + } + + public void setDivisor(io.fabric8.kubernetes.api.model.IntOrString divisor) { + this.divisor = divisor; + } + + /** + * Required: resource to select + */ + @com.fasterxml.jackson.annotation.JsonProperty("resource") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Required: resource to select") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String resource; + + public String getResource() { + return resource; + } + + public void setResource(String resource) { + this.resource = resource; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/secret/Items.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/secret/Items.java new file mode 100644 index 0000000..8ce5027 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/projected/sources/secret/Items.java @@ -0,0 +1,59 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.projected.sources.secret; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"key","mode","path"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Items implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * key is the key to project. + */ + @com.fasterxml.jackson.annotation.JsonProperty("key") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("key is the key to project.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String key; + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + /** + * mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + */ + @com.fasterxml.jackson.annotation.JsonProperty("mode") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer mode; + + public Integer getMode() { + return mode; + } + + public void setMode(Integer mode) { + this.mode = mode; + } + + /** + * path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. + */ + @com.fasterxml.jackson.annotation.JsonProperty("path") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String path; + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/rbd/SecretRef.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/rbd/SecretRef.java new file mode 100644 index 0000000..ca2009e --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/rbd/SecretRef.java @@ -0,0 +1,25 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.rbd; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"name"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class SecretRef implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/scaleio/SecretRef.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/scaleio/SecretRef.java new file mode 100644 index 0000000..435261d --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/scaleio/SecretRef.java @@ -0,0 +1,25 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.scaleio; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"name"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class SecretRef implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/secret/Items.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/secret/Items.java new file mode 100644 index 0000000..21b1725 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/secret/Items.java @@ -0,0 +1,59 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.secret; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"key","mode","path"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Items implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * key is the key to project. + */ + @com.fasterxml.jackson.annotation.JsonProperty("key") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("key is the key to project.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String key; + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + /** + * mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + */ + @com.fasterxml.jackson.annotation.JsonProperty("mode") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer mode; + + public Integer getMode() { + return mode; + } + + public void setMode(Integer mode) { + this.mode = mode; + } + + /** + * path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. + */ + @com.fasterxml.jackson.annotation.JsonProperty("path") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String path; + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/storageos/SecretRef.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/storageos/SecretRef.java new file mode 100644 index 0000000..5d0d876 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/externalvolumes/storageos/SecretRef.java @@ -0,0 +1,25 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.externalvolumes.storageos; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"name"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class SecretRef implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/Metadata.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/Metadata.java new file mode 100644 index 0000000..57fbbdd --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/Metadata.java @@ -0,0 +1,9 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Metadata implements io.fabric8.kubernetes.api.model.KubernetesResource { +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/Spec.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/Spec.java new file mode 100644 index 0000000..982dcaf --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/Spec.java @@ -0,0 +1,137 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"accessModes","dataSource","dataSourceRef","resources","selector","storageClassName","volumeMode","volumeName"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Spec implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 + */ + @com.fasterxml.jackson.annotation.JsonProperty("accessModes") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List accessModes; + + public java.util.List getAccessModes() { + return accessModes; + } + + public void setAccessModes(java.util.List accessModes) { + this.accessModes = accessModes; + } + + /** + * dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("dataSource") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.spec.DataSource dataSource; + + public io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.spec.DataSource getDataSource() { + return dataSource; + } + + public void setDataSource(io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.spec.DataSource dataSource) { + this.dataSource = dataSource; + } + + /** + * dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + */ + @com.fasterxml.jackson.annotation.JsonProperty("dataSourceRef") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.spec.DataSourceRef dataSourceRef; + + public io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.spec.DataSourceRef getDataSourceRef() { + return dataSourceRef; + } + + public void setDataSourceRef(io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.spec.DataSourceRef dataSourceRef) { + this.dataSourceRef = dataSourceRef; + } + + /** + * resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + */ + @com.fasterxml.jackson.annotation.JsonProperty("resources") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.spec.Resources resources; + + public io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.spec.Resources getResources() { + return resources; + } + + public void setResources(io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.spec.Resources resources) { + this.resources = resources; + } + + /** + * selector is a label query over volumes to consider for binding. + */ + @com.fasterxml.jackson.annotation.JsonProperty("selector") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("selector is a label query over volumes to consider for binding.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.spec.Selector selector; + + public io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.spec.Selector getSelector() { + return selector; + } + + public void setSelector(io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.spec.Selector selector) { + this.selector = selector; + } + + /** + * storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 + */ + @com.fasterxml.jackson.annotation.JsonProperty("storageClassName") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String storageClassName; + + public String getStorageClassName() { + return storageClassName; + } + + public void setStorageClassName(String storageClassName) { + this.storageClassName = storageClassName; + } + + /** + * volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumeMode") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String volumeMode; + + public String getVolumeMode() { + return volumeMode; + } + + public void setVolumeMode(String volumeMode) { + this.volumeMode = volumeMode; + } + + /** + * volumeName is the binding reference to the PersistentVolume backing this claim. + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumeName") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("volumeName is the binding reference to the PersistentVolume backing this claim.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String volumeName; + + public String getVolumeName() { + return volumeName; + } + + public void setVolumeName(String volumeName) { + this.volumeName = volumeName; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/DataSource.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/DataSource.java new file mode 100644 index 0000000..e0d390b --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/DataSource.java @@ -0,0 +1,59 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.spec; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"apiGroup","kind","name"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class DataSource implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiGroup") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String apiGroup; + + public String getApiGroup() { + return apiGroup; + } + + public void setApiGroup(String apiGroup) { + this.apiGroup = apiGroup; + } + + /** + * Kind is the type of resource being referenced + */ + @com.fasterxml.jackson.annotation.JsonProperty("kind") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Kind is the type of resource being referenced") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String kind; + + public String getKind() { + return kind; + } + + public void setKind(String kind) { + this.kind = kind; + } + + /** + * Name is the name of resource being referenced + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name is the name of resource being referenced") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/DataSourceRef.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/DataSourceRef.java new file mode 100644 index 0000000..9c02d95 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/DataSourceRef.java @@ -0,0 +1,75 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.spec; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"apiGroup","kind","name","namespace"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class DataSourceRef implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiGroup") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String apiGroup; + + public String getApiGroup() { + return apiGroup; + } + + public void setApiGroup(String apiGroup) { + this.apiGroup = apiGroup; + } + + /** + * Kind is the type of resource being referenced + */ + @com.fasterxml.jackson.annotation.JsonProperty("kind") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Kind is the type of resource being referenced") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String kind; + + public String getKind() { + return kind; + } + + public void setKind(String kind) { + this.kind = kind; + } + + /** + * Name is the name of resource being referenced + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name is the name of resource being referenced") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + */ + @com.fasterxml.jackson.annotation.JsonProperty("namespace") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String namespace; + + public String getNamespace() { + return namespace; + } + + public void setNamespace(String namespace) { + this.namespace = namespace; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/Resources.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/Resources.java new file mode 100644 index 0000000..15c2f85 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/Resources.java @@ -0,0 +1,59 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.spec; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"claims","limits","requests"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Resources implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. + * This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. + * This field is immutable. + */ + @com.fasterxml.jackson.annotation.JsonProperty("claims") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List claims; + + public java.util.List getClaims() { + return claims; + } + + public void setClaims(java.util.List claims) { + this.claims = claims; + } + + /** + * Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + */ + @com.fasterxml.jackson.annotation.JsonProperty("limits") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.Map limits; + + public java.util.Map getLimits() { + return limits; + } + + public void setLimits(java.util.Map limits) { + this.limits = limits; + } + + /** + * Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + */ + @com.fasterxml.jackson.annotation.JsonProperty("requests") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.Map requests; + + public java.util.Map getRequests() { + return requests; + } + + public void setRequests(java.util.Map requests) { + this.requests = requests; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/Selector.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/Selector.java new file mode 100644 index 0000000..1330a2f --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/Selector.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.spec; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"matchExpressions","matchLabels"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Selector implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * matchExpressions is a list of label selector requirements. The requirements are ANDed. + */ + @com.fasterxml.jackson.annotation.JsonProperty("matchExpressions") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("matchExpressions is a list of label selector requirements. The requirements are ANDed.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List matchExpressions; + + public java.util.List getMatchExpressions() { + return matchExpressions; + } + + public void setMatchExpressions(java.util.List matchExpressions) { + this.matchExpressions = matchExpressions; + } + + /** + * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + */ + @com.fasterxml.jackson.annotation.JsonProperty("matchLabels") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.Map matchLabels; + + public java.util.Map getMatchLabels() { + return matchLabels; + } + + public void setMatchLabels(java.util.Map matchLabels) { + this.matchLabels = matchLabels; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/resources/Claims.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/resources/Claims.java new file mode 100644 index 0000000..b86aa363 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/resources/Claims.java @@ -0,0 +1,26 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.spec.resources; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"name"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Claims implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/selector/MatchExpressions.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/selector/MatchExpressions.java new file mode 100644 index 0000000..bd02bf6 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorspec/volumeclaimtemplates/spec/selector/MatchExpressions.java @@ -0,0 +1,59 @@ +package io.roboscale.robot.v1alpha2.codeeditorspec.volumeclaimtemplates.spec.selector; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"key","operator","values"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class MatchExpressions implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * key is the label key that the selector applies to. + */ + @com.fasterxml.jackson.annotation.JsonProperty("key") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("key is the label key that the selector applies to.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String key; + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + /** + * operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + */ + @com.fasterxml.jackson.annotation.JsonProperty("operator") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String operator; + + public String getOperator() { + return operator; + } + + public void setOperator(String operator) { + this.operator = operator; + } + + /** + * values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + */ + @com.fasterxml.jackson.annotation.JsonProperty("values") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List values; + + public java.util.List getValues() { + return values; + } + + public void setValues(java.util.List values) { + this.values = values; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/DeploymentStatus.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/DeploymentStatus.java new file mode 100644 index 0000000..519cad8 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/DeploymentStatus.java @@ -0,0 +1,57 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"containerStatuses","resource","status"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class DeploymentStatus implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Container statuses. + */ + @com.fasterxml.jackson.annotation.JsonProperty("containerStatuses") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Container statuses.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List containerStatuses; + + public java.util.List getContainerStatuses() { + return containerStatuses; + } + + public void setContainerStatuses(java.util.List containerStatuses) { + this.containerStatuses = containerStatuses; + } + + /** + * Generic status for any owned resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("resource") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Generic status for any owned resource.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.Resource resource; + + public io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.Resource getResource() { + return resource; + } + + public void setResource(io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.Resource resource) { + this.resource = resource; + } + + /** + * Status of the Deployment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("status") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Status of the Deployment.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.Status status; + + public io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.Status getStatus() { + return status; + } + + public void setStatus(io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.Status status) { + this.status = status; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/ExternalVolumeStatuses.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/ExternalVolumeStatuses.java new file mode 100644 index 0000000..648af97 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/ExternalVolumeStatuses.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"exists","name"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class ExternalVolumeStatuses implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Indicates if the volume exists. + */ + @com.fasterxml.jackson.annotation.JsonProperty("exists") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Indicates if the volume exists.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean exists; + + public Boolean getExists() { + return exists; + } + + public void setExists(Boolean exists) { + this.exists = exists; + } + + /** + * Name of the external volume. + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the external volume.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/IngressStatus.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/IngressStatus.java new file mode 100644 index 0000000..498555b --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/IngressStatus.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"created","phase","reference"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class IngressStatus implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Shows if the owned resource is created. + */ + @com.fasterxml.jackson.annotation.JsonProperty("created") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Shows if the owned resource is created.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean created; + + public Boolean getCreated() { + return created; + } + + public void setCreated(Boolean created) { + this.created = created; + } + + /** + * Phase of the owned resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("phase") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Phase of the owned resource.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String phase; + + public String getPhase() { + return phase; + } + + public void setPhase(String phase) { + this.phase = phase; + } + + /** + * Reference to the owned resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("reference") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Reference to the owned resource.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorstatus.ingressstatus.Reference reference; + + public io.roboscale.robot.v1alpha2.codeeditorstatus.ingressstatus.Reference getReference() { + return reference; + } + + public void setReference(io.roboscale.robot.v1alpha2.codeeditorstatus.ingressstatus.Reference reference) { + this.reference = reference; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/PvcStatuses.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/PvcStatuses.java new file mode 100644 index 0000000..3c44fbe --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/PvcStatuses.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"resource","status"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class PvcStatuses implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Generic status for any owned resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("resource") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Generic status for any owned resource.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorstatus.pvcstatuses.Resource resource; + + public io.roboscale.robot.v1alpha2.codeeditorstatus.pvcstatuses.Resource getResource() { + return resource; + } + + public void setResource(io.roboscale.robot.v1alpha2.codeeditorstatus.pvcstatuses.Resource resource) { + this.resource = resource; + } + + /** + * Status of the ROS2Bridge instance. + */ + @com.fasterxml.jackson.annotation.JsonProperty("status") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Status of the ROS2Bridge instance.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorstatus.pvcstatuses.Status status; + + public io.roboscale.robot.v1alpha2.codeeditorstatus.pvcstatuses.Status getStatus() { + return status; + } + + public void setStatus(io.roboscale.robot.v1alpha2.codeeditorstatus.pvcstatuses.Status status) { + this.status = status; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/ServiceStatus.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/ServiceStatus.java new file mode 100644 index 0000000..da22560 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/ServiceStatus.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"resource","urls"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class ServiceStatus implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Generic status for any owned resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("resource") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Generic status for any owned resource.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorstatus.servicestatus.Resource resource; + + public io.roboscale.robot.v1alpha2.codeeditorstatus.servicestatus.Resource getResource() { + return resource; + } + + public void setResource(io.roboscale.robot.v1alpha2.codeeditorstatus.servicestatus.Resource resource) { + this.resource = resource; + } + + /** + * Connection URL. + */ + @com.fasterxml.jackson.annotation.JsonProperty("urls") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Connection URL.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.Map urls; + + public java.util.Map getUrls() { + return urls; + } + + public void setUrls(java.util.Map urls) { + this.urls = urls; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/ContainerStatuses.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/ContainerStatuses.java new file mode 100644 index 0000000..eeee5c3 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/ContainerStatuses.java @@ -0,0 +1,158 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"containerID","image","imageID","lastState","name","ready","restartCount","started","state"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class ContainerStatuses implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Container's ID in the format '://'. + */ + @com.fasterxml.jackson.annotation.JsonProperty("containerID") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Container's ID in the format '://'.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String containerID; + + public String getContainerID() { + return containerID; + } + + public void setContainerID(String containerID) { + this.containerID = containerID; + } + + /** + * The image the container is running. More info: https://kubernetes.io/docs/concepts/containers/images. + */ + @com.fasterxml.jackson.annotation.JsonProperty("image") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The image the container is running. More info: https://kubernetes.io/docs/concepts/containers/images.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String image; + + public String getImage() { + return image; + } + + public void setImage(String image) { + this.image = image; + } + + /** + * ImageID of the container's image. + */ + @com.fasterxml.jackson.annotation.JsonProperty("imageID") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("ImageID of the container's image.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String imageID; + + public String getImageID() { + return imageID; + } + + public void setImageID(String imageID) { + this.imageID = imageID; + } + + /** + * Details about the container's last termination condition. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lastState") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Details about the container's last termination condition.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.LastState lastState; + + public io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.LastState getLastState() { + return lastState; + } + + public void setLastState(io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.LastState lastState) { + this.lastState = lastState; + } + + /** + * This must be a DNS_LABEL. Each container in a pod must have a unique name. Cannot be updated. + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("This must be a DNS_LABEL. Each container in a pod must have a unique name. Cannot be updated.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * Specifies whether the container has passed its readiness probe. + */ + @com.fasterxml.jackson.annotation.JsonProperty("ready") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Specifies whether the container has passed its readiness probe.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean ready; + + public Boolean getReady() { + return ready; + } + + public void setReady(Boolean ready) { + this.ready = ready; + } + + /** + * The number of times the container has been restarted. + */ + @com.fasterxml.jackson.annotation.JsonProperty("restartCount") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The number of times the container has been restarted.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer restartCount; + + public Integer getRestartCount() { + return restartCount; + } + + public void setRestartCount(Integer restartCount) { + this.restartCount = restartCount; + } + + /** + * Specifies whether the container has passed its startup probe. Initialized as false, becomes true after startupProbe is considered successful. Resets to false when the container is restarted, or if kubelet loses state temporarily. Is always true when no startupProbe is defined. + */ + @com.fasterxml.jackson.annotation.JsonProperty("started") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Specifies whether the container has passed its startup probe. Initialized as false, becomes true after startupProbe is considered successful. Resets to false when the container is restarted, or if kubelet loses state temporarily. Is always true when no startupProbe is defined.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean started; + + public Boolean getStarted() { + return started; + } + + public void setStarted(Boolean started) { + this.started = started; + } + + /** + * Details about the container's current condition. + */ + @com.fasterxml.jackson.annotation.JsonProperty("state") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Details about the container's current condition.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.State state; + + public io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.State getState() { + return state; + } + + public void setState(io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.State state) { + this.state = state; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/Resource.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/Resource.java new file mode 100644 index 0000000..9628771 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/Resource.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"created","phase","reference"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Resource implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Shows if the owned resource is created. + */ + @com.fasterxml.jackson.annotation.JsonProperty("created") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Shows if the owned resource is created.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean created; + + public Boolean getCreated() { + return created; + } + + public void setCreated(Boolean created) { + this.created = created; + } + + /** + * Phase of the owned resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("phase") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Phase of the owned resource.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String phase; + + public String getPhase() { + return phase; + } + + public void setPhase(String phase) { + this.phase = phase; + } + + /** + * Reference to the owned resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("reference") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Reference to the owned resource.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.resource.Reference reference; + + public io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.resource.Reference getReference() { + return reference; + } + + public void setReference(io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.resource.Reference reference) { + this.reference = reference; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/Status.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/Status.java new file mode 100644 index 0000000..5383b92 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/Status.java @@ -0,0 +1,137 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"availableReplicas","collisionCount","conditions","observedGeneration","readyReplicas","replicas","unavailableReplicas","updatedReplicas"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Status implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Total number of available pods (ready for at least minReadySeconds) targeted by this deployment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("availableReplicas") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Total number of available pods (ready for at least minReadySeconds) targeted by this deployment.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer availableReplicas; + + public Integer getAvailableReplicas() { + return availableReplicas; + } + + public void setAvailableReplicas(Integer availableReplicas) { + this.availableReplicas = availableReplicas; + } + + /** + * Count of hash collisions for the Deployment. The Deployment controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ReplicaSet. + */ + @com.fasterxml.jackson.annotation.JsonProperty("collisionCount") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Count of hash collisions for the Deployment. The Deployment controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ReplicaSet.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer collisionCount; + + public Integer getCollisionCount() { + return collisionCount; + } + + public void setCollisionCount(Integer collisionCount) { + this.collisionCount = collisionCount; + } + + /** + * Represents the latest available observations of a deployment's current state. + */ + @com.fasterxml.jackson.annotation.JsonProperty("conditions") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Represents the latest available observations of a deployment's current state.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List conditions; + + public java.util.List getConditions() { + return conditions; + } + + public void setConditions(java.util.List conditions) { + this.conditions = conditions; + } + + /** + * The generation observed by the deployment controller. + */ + @com.fasterxml.jackson.annotation.JsonProperty("observedGeneration") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The generation observed by the deployment controller.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Long observedGeneration; + + public Long getObservedGeneration() { + return observedGeneration; + } + + public void setObservedGeneration(Long observedGeneration) { + this.observedGeneration = observedGeneration; + } + + /** + * readyReplicas is the number of pods targeted by this Deployment with a Ready Condition. + */ + @com.fasterxml.jackson.annotation.JsonProperty("readyReplicas") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("readyReplicas is the number of pods targeted by this Deployment with a Ready Condition.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer readyReplicas; + + public Integer getReadyReplicas() { + return readyReplicas; + } + + public void setReadyReplicas(Integer readyReplicas) { + this.readyReplicas = readyReplicas; + } + + /** + * Total number of non-terminated pods targeted by this deployment (their labels match the selector). + */ + @com.fasterxml.jackson.annotation.JsonProperty("replicas") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Total number of non-terminated pods targeted by this deployment (their labels match the selector).") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer replicas; + + public Integer getReplicas() { + return replicas; + } + + public void setReplicas(Integer replicas) { + this.replicas = replicas; + } + + /** + * Total number of unavailable pods targeted by this deployment. This is the total number of pods that are still required for the deployment to have 100% available capacity. They may either be pods that are running but not yet available or pods that still have not been created. + */ + @com.fasterxml.jackson.annotation.JsonProperty("unavailableReplicas") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Total number of unavailable pods targeted by this deployment. This is the total number of pods that are still required for the deployment to have 100% available capacity. They may either be pods that are running but not yet available or pods that still have not been created.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer unavailableReplicas; + + public Integer getUnavailableReplicas() { + return unavailableReplicas; + } + + public void setUnavailableReplicas(Integer unavailableReplicas) { + this.unavailableReplicas = unavailableReplicas; + } + + /** + * Total number of non-terminated pods targeted by this deployment that have the desired template spec. + */ + @com.fasterxml.jackson.annotation.JsonProperty("updatedReplicas") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Total number of non-terminated pods targeted by this deployment that have the desired template spec.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer updatedReplicas; + + public Integer getUpdatedReplicas() { + return updatedReplicas; + } + + public void setUpdatedReplicas(Integer updatedReplicas) { + this.updatedReplicas = updatedReplicas; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/LastState.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/LastState.java new file mode 100644 index 0000000..72cadca --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/LastState.java @@ -0,0 +1,57 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"running","terminated","waiting"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class LastState implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Details about a running container + */ + @com.fasterxml.jackson.annotation.JsonProperty("running") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Details about a running container") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.laststate.Running running; + + public io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.laststate.Running getRunning() { + return running; + } + + public void setRunning(io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.laststate.Running running) { + this.running = running; + } + + /** + * Details about a terminated container + */ + @com.fasterxml.jackson.annotation.JsonProperty("terminated") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Details about a terminated container") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.laststate.Terminated terminated; + + public io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.laststate.Terminated getTerminated() { + return terminated; + } + + public void setTerminated(io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.laststate.Terminated terminated) { + this.terminated = terminated; + } + + /** + * Details about a waiting container + */ + @com.fasterxml.jackson.annotation.JsonProperty("waiting") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Details about a waiting container") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.laststate.Waiting waiting; + + public io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.laststate.Waiting getWaiting() { + return waiting; + } + + public void setWaiting(io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.laststate.Waiting waiting) { + this.waiting = waiting; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/State.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/State.java new file mode 100644 index 0000000..9850c0f --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/State.java @@ -0,0 +1,57 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"running","terminated","waiting"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class State implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Details about a running container + */ + @com.fasterxml.jackson.annotation.JsonProperty("running") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Details about a running container") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.state.Running running; + + public io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.state.Running getRunning() { + return running; + } + + public void setRunning(io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.state.Running running) { + this.running = running; + } + + /** + * Details about a terminated container + */ + @com.fasterxml.jackson.annotation.JsonProperty("terminated") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Details about a terminated container") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.state.Terminated terminated; + + public io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.state.Terminated getTerminated() { + return terminated; + } + + public void setTerminated(io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.state.Terminated terminated) { + this.terminated = terminated; + } + + /** + * Details about a waiting container + */ + @com.fasterxml.jackson.annotation.JsonProperty("waiting") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Details about a waiting container") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.state.Waiting waiting; + + public io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.state.Waiting getWaiting() { + return waiting; + } + + public void setWaiting(io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.state.Waiting waiting) { + this.waiting = waiting; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/laststate/Running.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/laststate/Running.java new file mode 100644 index 0000000..fc55b1f --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/laststate/Running.java @@ -0,0 +1,25 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.laststate; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"startedAt"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Running implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Time at which the container was last (re-)started + */ + @com.fasterxml.jackson.annotation.JsonProperty("startedAt") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Time at which the container was last (re-)started") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String startedAt; + + public String getStartedAt() { + return startedAt; + } + + public void setStartedAt(String startedAt) { + this.startedAt = startedAt; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/laststate/Terminated.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/laststate/Terminated.java new file mode 100644 index 0000000..77b896c --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/laststate/Terminated.java @@ -0,0 +1,122 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.laststate; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"containerID","exitCode","finishedAt","message","reason","signal","startedAt"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Terminated implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Container's ID in the format '://' + */ + @com.fasterxml.jackson.annotation.JsonProperty("containerID") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Container's ID in the format '://'") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String containerID; + + public String getContainerID() { + return containerID; + } + + public void setContainerID(String containerID) { + this.containerID = containerID; + } + + /** + * Exit status from the last termination of the container + */ + @com.fasterxml.jackson.annotation.JsonProperty("exitCode") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Exit status from the last termination of the container") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer exitCode; + + public Integer getExitCode() { + return exitCode; + } + + public void setExitCode(Integer exitCode) { + this.exitCode = exitCode; + } + + /** + * Time at which the container last terminated + */ + @com.fasterxml.jackson.annotation.JsonProperty("finishedAt") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Time at which the container last terminated") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String finishedAt; + + public String getFinishedAt() { + return finishedAt; + } + + public void setFinishedAt(String finishedAt) { + this.finishedAt = finishedAt; + } + + /** + * Message regarding the last termination of the container + */ + @com.fasterxml.jackson.annotation.JsonProperty("message") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Message regarding the last termination of the container") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String message; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + /** + * (brief) reason from the last termination of the container + */ + @com.fasterxml.jackson.annotation.JsonProperty("reason") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("(brief) reason from the last termination of the container") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String reason; + + public String getReason() { + return reason; + } + + public void setReason(String reason) { + this.reason = reason; + } + + /** + * Signal from the last termination of the container + */ + @com.fasterxml.jackson.annotation.JsonProperty("signal") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Signal from the last termination of the container") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer signal; + + public Integer getSignal() { + return signal; + } + + public void setSignal(Integer signal) { + this.signal = signal; + } + + /** + * Time at which previous execution of the container started + */ + @com.fasterxml.jackson.annotation.JsonProperty("startedAt") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Time at which previous execution of the container started") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String startedAt; + + public String getStartedAt() { + return startedAt; + } + + public void setStartedAt(String startedAt) { + this.startedAt = startedAt; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/laststate/Waiting.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/laststate/Waiting.java new file mode 100644 index 0000000..fdbe97d --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/laststate/Waiting.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.laststate; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"message","reason"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Waiting implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Message regarding why the container is not yet running. + */ + @com.fasterxml.jackson.annotation.JsonProperty("message") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Message regarding why the container is not yet running.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String message; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + /** + * (brief) reason the container is not yet running. + */ + @com.fasterxml.jackson.annotation.JsonProperty("reason") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("(brief) reason the container is not yet running.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String reason; + + public String getReason() { + return reason; + } + + public void setReason(String reason) { + this.reason = reason; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/state/Running.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/state/Running.java new file mode 100644 index 0000000..fe9a471 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/state/Running.java @@ -0,0 +1,25 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.state; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"startedAt"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Running implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Time at which the container was last (re-)started + */ + @com.fasterxml.jackson.annotation.JsonProperty("startedAt") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Time at which the container was last (re-)started") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String startedAt; + + public String getStartedAt() { + return startedAt; + } + + public void setStartedAt(String startedAt) { + this.startedAt = startedAt; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/state/Terminated.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/state/Terminated.java new file mode 100644 index 0000000..393d620 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/state/Terminated.java @@ -0,0 +1,122 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.state; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"containerID","exitCode","finishedAt","message","reason","signal","startedAt"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Terminated implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Container's ID in the format '://' + */ + @com.fasterxml.jackson.annotation.JsonProperty("containerID") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Container's ID in the format '://'") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String containerID; + + public String getContainerID() { + return containerID; + } + + public void setContainerID(String containerID) { + this.containerID = containerID; + } + + /** + * Exit status from the last termination of the container + */ + @com.fasterxml.jackson.annotation.JsonProperty("exitCode") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Exit status from the last termination of the container") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer exitCode; + + public Integer getExitCode() { + return exitCode; + } + + public void setExitCode(Integer exitCode) { + this.exitCode = exitCode; + } + + /** + * Time at which the container last terminated + */ + @com.fasterxml.jackson.annotation.JsonProperty("finishedAt") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Time at which the container last terminated") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String finishedAt; + + public String getFinishedAt() { + return finishedAt; + } + + public void setFinishedAt(String finishedAt) { + this.finishedAt = finishedAt; + } + + /** + * Message regarding the last termination of the container + */ + @com.fasterxml.jackson.annotation.JsonProperty("message") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Message regarding the last termination of the container") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String message; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + /** + * (brief) reason from the last termination of the container + */ + @com.fasterxml.jackson.annotation.JsonProperty("reason") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("(brief) reason from the last termination of the container") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String reason; + + public String getReason() { + return reason; + } + + public void setReason(String reason) { + this.reason = reason; + } + + /** + * Signal from the last termination of the container + */ + @com.fasterxml.jackson.annotation.JsonProperty("signal") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Signal from the last termination of the container") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer signal; + + public Integer getSignal() { + return signal; + } + + public void setSignal(Integer signal) { + this.signal = signal; + } + + /** + * Time at which previous execution of the container started + */ + @com.fasterxml.jackson.annotation.JsonProperty("startedAt") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Time at which previous execution of the container started") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String startedAt; + + public String getStartedAt() { + return startedAt; + } + + public void setStartedAt(String startedAt) { + this.startedAt = startedAt; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/state/Waiting.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/state/Waiting.java new file mode 100644 index 0000000..efe132f --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/containerstatuses/state/Waiting.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.containerstatuses.state; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"message","reason"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Waiting implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Message regarding why the container is not yet running. + */ + @com.fasterxml.jackson.annotation.JsonProperty("message") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Message regarding why the container is not yet running.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String message; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + /** + * (brief) reason the container is not yet running. + */ + @com.fasterxml.jackson.annotation.JsonProperty("reason") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("(brief) reason the container is not yet running.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String reason; + + public String getReason() { + return reason; + } + + public void setReason(String reason) { + this.reason = reason; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/resource/Reference.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/resource/Reference.java new file mode 100644 index 0000000..aea93f6 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/resource/Reference.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.resource; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"apiVersion","fieldPath","kind","name","namespace","resourceVersion","uid"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Reference implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * API version of the referent. + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiVersion") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("API version of the referent.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String apiVersion; + + public String getApiVersion() { + return apiVersion; + } + + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + /** + * If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future. + */ + @com.fasterxml.jackson.annotation.JsonProperty("fieldPath") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: \"spec.containers{name}\" (where \"name\" refers to the name of the container that triggered the event) or if no container name is specified \"spec.containers[2]\" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String fieldPath; + + public String getFieldPath() { + return fieldPath; + } + + public void setFieldPath(String fieldPath) { + this.fieldPath = fieldPath; + } + + /** + * Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + */ + @com.fasterxml.jackson.annotation.JsonProperty("kind") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String kind; + + public String getKind() { + return kind; + } + + public void setKind(String kind) { + this.kind = kind; + } + + /** + * Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ + */ + @com.fasterxml.jackson.annotation.JsonProperty("namespace") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String namespace; + + public String getNamespace() { + return namespace; + } + + public void setNamespace(String namespace) { + this.namespace = namespace; + } + + /** + * Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency + */ + @com.fasterxml.jackson.annotation.JsonProperty("resourceVersion") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String resourceVersion; + + public String getResourceVersion() { + return resourceVersion; + } + + public void setResourceVersion(String resourceVersion) { + this.resourceVersion = resourceVersion; + } + + /** + * UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids + */ + @com.fasterxml.jackson.annotation.JsonProperty("uid") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String uid; + + public String getUid() { + return uid; + } + + public void setUid(String uid) { + this.uid = uid; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/status/Conditions.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/status/Conditions.java new file mode 100644 index 0000000..52780e8 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/deploymentstatus/status/Conditions.java @@ -0,0 +1,107 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus.deploymentstatus.status; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"lastTransitionTime","lastUpdateTime","message","reason","status","type"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Conditions implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Last time the condition transitioned from one status to another. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lastTransitionTime") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Last time the condition transitioned from one status to another.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String lastTransitionTime; + + public String getLastTransitionTime() { + return lastTransitionTime; + } + + public void setLastTransitionTime(String lastTransitionTime) { + this.lastTransitionTime = lastTransitionTime; + } + + /** + * The last time this condition was updated. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lastUpdateTime") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The last time this condition was updated.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String lastUpdateTime; + + public String getLastUpdateTime() { + return lastUpdateTime; + } + + public void setLastUpdateTime(String lastUpdateTime) { + this.lastUpdateTime = lastUpdateTime; + } + + /** + * A human readable message indicating details about the transition. + */ + @com.fasterxml.jackson.annotation.JsonProperty("message") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("A human readable message indicating details about the transition.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String message; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + /** + * The reason for the condition's last transition. + */ + @com.fasterxml.jackson.annotation.JsonProperty("reason") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The reason for the condition's last transition.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String reason; + + public String getReason() { + return reason; + } + + public void setReason(String reason) { + this.reason = reason; + } + + /** + * Status of the condition, one of True, False, Unknown. + */ + @com.fasterxml.jackson.annotation.JsonProperty("status") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Status of the condition, one of True, False, Unknown.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String status; + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + /** + * Type of deployment condition. + */ + @com.fasterxml.jackson.annotation.JsonProperty("type") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Type of deployment condition.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String type; + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/ingressstatus/Reference.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/ingressstatus/Reference.java new file mode 100644 index 0000000..5fff60e --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/ingressstatus/Reference.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus.ingressstatus; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"apiVersion","fieldPath","kind","name","namespace","resourceVersion","uid"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Reference implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * API version of the referent. + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiVersion") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("API version of the referent.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String apiVersion; + + public String getApiVersion() { + return apiVersion; + } + + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + /** + * If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future. + */ + @com.fasterxml.jackson.annotation.JsonProperty("fieldPath") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: \"spec.containers{name}\" (where \"name\" refers to the name of the container that triggered the event) or if no container name is specified \"spec.containers[2]\" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String fieldPath; + + public String getFieldPath() { + return fieldPath; + } + + public void setFieldPath(String fieldPath) { + this.fieldPath = fieldPath; + } + + /** + * Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + */ + @com.fasterxml.jackson.annotation.JsonProperty("kind") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String kind; + + public String getKind() { + return kind; + } + + public void setKind(String kind) { + this.kind = kind; + } + + /** + * Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ + */ + @com.fasterxml.jackson.annotation.JsonProperty("namespace") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String namespace; + + public String getNamespace() { + return namespace; + } + + public void setNamespace(String namespace) { + this.namespace = namespace; + } + + /** + * Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency + */ + @com.fasterxml.jackson.annotation.JsonProperty("resourceVersion") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String resourceVersion; + + public String getResourceVersion() { + return resourceVersion; + } + + public void setResourceVersion(String resourceVersion) { + this.resourceVersion = resourceVersion; + } + + /** + * UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids + */ + @com.fasterxml.jackson.annotation.JsonProperty("uid") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String uid; + + public String getUid() { + return uid; + } + + public void setUid(String uid) { + this.uid = uid; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/pvcstatuses/Resource.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/pvcstatuses/Resource.java new file mode 100644 index 0000000..cc65aa8 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/pvcstatuses/Resource.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus.pvcstatuses; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"created","phase","reference"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Resource implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Shows if the owned resource is created. + */ + @com.fasterxml.jackson.annotation.JsonProperty("created") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Shows if the owned resource is created.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean created; + + public Boolean getCreated() { + return created; + } + + public void setCreated(Boolean created) { + this.created = created; + } + + /** + * Phase of the owned resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("phase") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Phase of the owned resource.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String phase; + + public String getPhase() { + return phase; + } + + public void setPhase(String phase) { + this.phase = phase; + } + + /** + * Reference to the owned resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("reference") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Reference to the owned resource.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorstatus.pvcstatuses.resource.Reference reference; + + public io.roboscale.robot.v1alpha2.codeeditorstatus.pvcstatuses.resource.Reference getReference() { + return reference; + } + + public void setReference(io.roboscale.robot.v1alpha2.codeeditorstatus.pvcstatuses.resource.Reference reference) { + this.reference = reference; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/pvcstatuses/Status.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/pvcstatuses/Status.java new file mode 100644 index 0000000..3a1406d --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/pvcstatuses/Status.java @@ -0,0 +1,105 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus.pvcstatuses; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"accessModes","allocatedResources","capacity","conditions","phase","resizeStatus"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Status implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * accessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 + */ + @com.fasterxml.jackson.annotation.JsonProperty("accessModes") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("accessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List accessModes; + + public java.util.List getAccessModes() { + return accessModes; + } + + public void setAccessModes(java.util.List accessModes) { + this.accessModes = accessModes; + } + + /** + * allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. + */ + @com.fasterxml.jackson.annotation.JsonProperty("allocatedResources") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.Map allocatedResources; + + public java.util.Map getAllocatedResources() { + return allocatedResources; + } + + public void setAllocatedResources(java.util.Map allocatedResources) { + this.allocatedResources = allocatedResources; + } + + /** + * capacity represents the actual resources of the underlying volume. + */ + @com.fasterxml.jackson.annotation.JsonProperty("capacity") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("capacity represents the actual resources of the underlying volume.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.Map capacity; + + public java.util.Map getCapacity() { + return capacity; + } + + public void setCapacity(java.util.Map capacity) { + this.capacity = capacity; + } + + /** + * conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'. + */ + @com.fasterxml.jackson.annotation.JsonProperty("conditions") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List conditions; + + public java.util.List getConditions() { + return conditions; + } + + public void setConditions(java.util.List conditions) { + this.conditions = conditions; + } + + /** + * phase represents the current phase of PersistentVolumeClaim. + */ + @com.fasterxml.jackson.annotation.JsonProperty("phase") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("phase represents the current phase of PersistentVolumeClaim.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String phase; + + public String getPhase() { + return phase; + } + + public void setPhase(String phase) { + this.phase = phase; + } + + /** + * resizeStatus stores status of resize operation. ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty string by resize controller or kubelet. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. + */ + @com.fasterxml.jackson.annotation.JsonProperty("resizeStatus") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("resizeStatus stores status of resize operation. ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty string by resize controller or kubelet. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String resizeStatus; + + public String getResizeStatus() { + return resizeStatus; + } + + public void setResizeStatus(String resizeStatus) { + this.resizeStatus = resizeStatus; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/pvcstatuses/resource/Reference.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/pvcstatuses/resource/Reference.java new file mode 100644 index 0000000..bffb62d --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/pvcstatuses/resource/Reference.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus.pvcstatuses.resource; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"apiVersion","fieldPath","kind","name","namespace","resourceVersion","uid"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Reference implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * API version of the referent. + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiVersion") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("API version of the referent.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String apiVersion; + + public String getApiVersion() { + return apiVersion; + } + + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + /** + * If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future. + */ + @com.fasterxml.jackson.annotation.JsonProperty("fieldPath") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: \"spec.containers{name}\" (where \"name\" refers to the name of the container that triggered the event) or if no container name is specified \"spec.containers[2]\" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String fieldPath; + + public String getFieldPath() { + return fieldPath; + } + + public void setFieldPath(String fieldPath) { + this.fieldPath = fieldPath; + } + + /** + * Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + */ + @com.fasterxml.jackson.annotation.JsonProperty("kind") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String kind; + + public String getKind() { + return kind; + } + + public void setKind(String kind) { + this.kind = kind; + } + + /** + * Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ + */ + @com.fasterxml.jackson.annotation.JsonProperty("namespace") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String namespace; + + public String getNamespace() { + return namespace; + } + + public void setNamespace(String namespace) { + this.namespace = namespace; + } + + /** + * Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency + */ + @com.fasterxml.jackson.annotation.JsonProperty("resourceVersion") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String resourceVersion; + + public String getResourceVersion() { + return resourceVersion; + } + + public void setResourceVersion(String resourceVersion) { + this.resourceVersion = resourceVersion; + } + + /** + * UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids + */ + @com.fasterxml.jackson.annotation.JsonProperty("uid") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String uid; + + public String getUid() { + return uid; + } + + public void setUid(String uid) { + this.uid = uid; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/pvcstatuses/status/Conditions.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/pvcstatuses/status/Conditions.java new file mode 100644 index 0000000..7c322d5 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/pvcstatuses/status/Conditions.java @@ -0,0 +1,103 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus.pvcstatuses.status; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"lastProbeTime","lastTransitionTime","message","reason","status","type"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Conditions implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * lastProbeTime is the time we probed the condition. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lastProbeTime") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("lastProbeTime is the time we probed the condition.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String lastProbeTime; + + public String getLastProbeTime() { + return lastProbeTime; + } + + public void setLastProbeTime(String lastProbeTime) { + this.lastProbeTime = lastProbeTime; + } + + /** + * lastTransitionTime is the time the condition transitioned from one status to another. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lastTransitionTime") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("lastTransitionTime is the time the condition transitioned from one status to another.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String lastTransitionTime; + + public String getLastTransitionTime() { + return lastTransitionTime; + } + + public void setLastTransitionTime(String lastTransitionTime) { + this.lastTransitionTime = lastTransitionTime; + } + + /** + * message is the human-readable message indicating details about last transition. + */ + @com.fasterxml.jackson.annotation.JsonProperty("message") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("message is the human-readable message indicating details about last transition.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String message; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + /** + * reason is a unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports "ResizeStarted" that means the underlying persistent volume is being resized. + */ + @com.fasterxml.jackson.annotation.JsonProperty("reason") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("reason is a unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"ResizeStarted\" that means the underlying persistent volume is being resized.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String reason; + + public String getReason() { + return reason; + } + + public void setReason(String reason) { + this.reason = reason; + } + + @com.fasterxml.jackson.annotation.JsonProperty("status") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String status; + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + /** + * PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type + */ + @com.fasterxml.jackson.annotation.JsonProperty("type") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String type; + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/servicestatus/Resource.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/servicestatus/Resource.java new file mode 100644 index 0000000..8cac5ee --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/servicestatus/Resource.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus.servicestatus; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"created","phase","reference"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Resource implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Shows if the owned resource is created. + */ + @com.fasterxml.jackson.annotation.JsonProperty("created") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Shows if the owned resource is created.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean created; + + public Boolean getCreated() { + return created; + } + + public void setCreated(Boolean created) { + this.created = created; + } + + /** + * Phase of the owned resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("phase") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Phase of the owned resource.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String phase; + + public String getPhase() { + return phase; + } + + public void setPhase(String phase) { + this.phase = phase; + } + + /** + * Reference to the owned resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("reference") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Reference to the owned resource.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.codeeditorstatus.servicestatus.resource.Reference reference; + + public io.roboscale.robot.v1alpha2.codeeditorstatus.servicestatus.resource.Reference getReference() { + return reference; + } + + public void setReference(io.roboscale.robot.v1alpha2.codeeditorstatus.servicestatus.resource.Reference reference) { + this.reference = reference; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/servicestatus/resource/Reference.java b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/servicestatus/resource/Reference.java new file mode 100644 index 0000000..7ef09fd --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/codeeditorstatus/servicestatus/resource/Reference.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.codeeditorstatus.servicestatus.resource; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"apiVersion","fieldPath","kind","name","namespace","resourceVersion","uid"}) +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class Reference implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * API version of the referent. + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiVersion") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("API version of the referent.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String apiVersion; + + public String getApiVersion() { + return apiVersion; + } + + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + /** + * If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future. + */ + @com.fasterxml.jackson.annotation.JsonProperty("fieldPath") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: \"spec.containers{name}\" (where \"name\" refers to the name of the container that triggered the event) or if no container name is specified \"spec.containers[2]\" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String fieldPath; + + public String getFieldPath() { + return fieldPath; + } + + public void setFieldPath(String fieldPath) { + this.fieldPath = fieldPath; + } + + /** + * Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + */ + @com.fasterxml.jackson.annotation.JsonProperty("kind") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String kind; + + public String getKind() { + return kind; + } + + public void setKind(String kind) { + this.kind = kind; + } + + /** + * Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ + */ + @com.fasterxml.jackson.annotation.JsonProperty("namespace") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String namespace; + + public String getNamespace() { + return namespace; + } + + public void setNamespace(String namespace) { + this.namespace = namespace; + } + + /** + * Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency + */ + @com.fasterxml.jackson.annotation.JsonProperty("resourceVersion") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String resourceVersion; + + public String getResourceVersion() { + return resourceVersion; + } + + public void setResourceVersion(String resourceVersion) { + this.resourceVersion = resourceVersion; + } + + /** + * UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids + */ + @com.fasterxml.jackson.annotation.JsonProperty("uid") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String uid; + + public String getUid() { + return uid; + } + + public void setUid(String uid) { + this.uid = uid; + } +} +