diff --git a/crds/base/robot.roboscale.io_ros2bridges.yaml b/crds/base/robot.roboscale.io_ros2bridges.yaml new file mode 100644 index 0000000..0fb0e8f --- /dev/null +++ b/crds/base/robot.roboscale.io_ros2bridges.yaml @@ -0,0 +1,284 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: ros2bridges.robot.roboscale.io +spec: + group: robot.roboscale.io + names: + kind: ROS2Bridge + listKind: ROS2BridgeList + plural: ros2bridges + singular: ros2bridge + scope: Namespaced + versions: + - name: v1alpha2 + schema: + openAPIV3Schema: + description: ROS2Bridge is the Schema for the ros2bridges 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: ROS2BridgeSpec defines the desired state of ROS2Bridge. + properties: + discoveryServerRef: + description: Object reference to DiscoveryServer. + 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 + distro: + description: Configurational parameters for ROS 2 bridge. + enum: + - foxy + - galactic + - humble + type: string + ingress: + description: ROS2Bridge will create an Ingress resource if `true`. + type: boolean + serviceType: + default: ClusterIP + description: Service type of ROS2Bridge. `ClusterIP` and `NodePort` + is supported. + enum: + - ClusterIP + - NodePort + type: string + tlsSecretName: + description: Name of the TLS secret. + type: string + required: + - distro + type: object + status: + description: ROS2BridgeStatus defines the observed state of ROS2Bridge. + properties: + connectionInfo: + description: Connection info obtained from DiscoveryServer. + properties: + configMapName: + description: Name of the config map that holds discovery server + configuration. + type: string + ip: + description: IP of the discovery server. IP is being obtained + from the DNS name, which is being built according to the discovery + server configuration. + type: string + uri: + description: URI of the discovery server. Discovery server instance + tries to ping this address to see if it's reachable. + type: string + type: object + ingressStatus: + description: Status of ROS2Bridge 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 ROS2Bridge. + type: string + podStatus: + description: Status of ROS2Bridge pod. + 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 + serviceStatus: + description: Status of ROS2Bridge 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 + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/crds/base/robot.roboscale.io_ros2workloads.yaml b/crds/base/robot.roboscale.io_ros2workloads.yaml new file mode 100644 index 0000000..0841ba1 --- /dev/null +++ b/crds/base/robot.roboscale.io_ros2workloads.yaml @@ -0,0 +1,2715 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: ros2workloads.robot.roboscale.io +spec: + group: robot.roboscale.io + names: + kind: ROS2Workload + listKind: ROS2WorkloadList + plural: ros2workloads + singular: ros2workload + scope: Namespaced + versions: + - name: v1alpha2 + schema: + openAPIV3Schema: + description: ROS2Workload is the Schema for the ros2workloads 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: ROS2WorkloadSpec defines the desired state of ROS2Workload. + properties: + containers: + description: Configurational parameters for containers that will be + encapsulated within the ROS 2 workload StatefulSet. + items: + properties: + container: + description: Single container configuration for stateful set. + properties: + args: + description: 'Arguments to the entrypoint. The container + image''s CMD is used if this is not provided. Variable + references $(VAR_NAME) are expanded using the container''s + environment. If a variable cannot be resolved, the reference + in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) + syntax: i.e. "$$(VAR_NAME)" will produce the string literal + "$(VAR_NAME)". Escaped references will never be expanded, + regardless of whether the variable exists or not. Cannot + be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' + items: + type: string + type: array + command: + description: 'Entrypoint array. Not executed within a shell. + The container image''s ENTRYPOINT is used if this is not + provided. Variable references $(VAR_NAME) are expanded + using the container''s environment. If a variable cannot + be resolved, the reference in the input string will be + unchanged. Double $$ are reduced to a single $, which + allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" + will produce the string literal "$(VAR_NAME)". Escaped + references will never be expanded, regardless of whether + the variable exists or not. Cannot be updated. More info: + https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' + items: + type: string + type: array + env: + description: List of environment variables to set in the + container. Cannot be updated. + items: + description: EnvVar represents an environment variable + present in a Container. + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are + expanded using the previously defined environment + variables in the container and any service environment + variables. If a variable cannot be resolved, the + reference in the input string will be unchanged. + Double $$ are reduced to a single $, which allows + for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" + will produce the string literal "$(VAR_NAME)". Escaped + references will never be expanded, regardless of + whether the variable exists or not. Defaults to + "".' + type: string + valueFrom: + description: Source for the environment variable's + value. Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + 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: Specify whether the ConfigMap + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: 'Selects a field of the pod: supports + metadata.name, metadata.namespace, `metadata.labels['''']`, + `metadata.annotations['''']`, spec.nodeName, + spec.serviceAccountName, status.hostIP, status.podIP, + status.podIPs.' + 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 + resourceFieldRef: + description: 'Selects a resource of the container: + only resources limits and requests (limits.cpu, + limits.memory, limits.ephemeral-storage, requests.cpu, + requests.memory and requests.ephemeral-storage) + 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 + secretKeyRef: + description: Selects a key of a secret in the + pod's namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + 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: Specify whether the Secret or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + envFrom: + description: List of sources to populate environment variables + in the container. The keys defined within a source must + be a C_IDENTIFIER. All invalid keys will be reported as + an event when the container is starting. When a key exists + in multiple sources, the value associated with the last + source will take precedence. Values defined by an Env + with a duplicate key will take precedence. Cannot be updated. + items: + description: EnvFromSource represents the source of a + set of ConfigMaps + properties: + configMapRef: + description: The ConfigMap to select from + 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 + optional: + description: Specify whether the ConfigMap must + be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + description: An optional identifier to prepend to + each key in the ConfigMap. Must be a C_IDENTIFIER. + type: string + secretRef: + description: The Secret to select from + 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 + optional: + description: Specify whether the Secret must be + defined + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + image: + description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images + This field is optional to allow higher level config management + to default or override container images in workload controllers + like Deployments and StatefulSets.' + type: string + imagePullPolicy: + description: 'Image pull policy. One of Always, Never, IfNotPresent. + Defaults to Always if :latest tag is specified, or IfNotPresent + otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' + type: string + lifecycle: + description: Actions that the management system should take + in response to container lifecycle events. Cannot be updated. + properties: + postStart: + description: 'PostStart is called immediately after + a container is created. If the handler fails, the + container is terminated and restarted according to + its restart policy. Other management of the container + blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: Command is the command line to + execute inside the container, the working + directory for the command is root ('/') in + the container's filesystem. The command is + simply exec'd, it is not run inside a shell, + so traditional shell instructions ('|', etc) + won't work. To use a shell, you need to explicitly + call out to that shell. Exit status of 0 is + treated as live/healthy and non-zero is unhealthy. + items: + type: string + type: array + type: object + httpGet: + description: HTTPGet specifies the http request + to perform. + properties: + host: + description: Host name to connect to, defaults + to the pod IP. You probably want to set "Host" + in httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. + HTTP allows repeated headers. + items: + description: HTTPHeader describes a custom + header to be used in HTTP probes + properties: + name: + description: The header field name + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: Name or number of the port to access + on the container. Number must be in the range + 1 to 65535. Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: Scheme to use for connecting to + the host. Defaults to HTTP. + type: string + required: + - port + type: object + tcpSocket: + description: Deprecated. TCPSocket is NOT supported + as a LifecycleHandler and kept for the backward + compatibility. There are no validation of this + field and lifecycle hooks will fail in runtime + when tcp handler is specified. + properties: + host: + description: 'Optional: Host name to connect + to, defaults to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: Number or name of the port to access + on the container. Number must be in the range + 1 to 65535. Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + description: 'PreStop is called immediately before a + container is terminated due to an API request or management + event such as liveness/startup probe failure, preemption, + resource contention, etc. The handler is not called + if the container crashes or exits. The Pod''s termination + grace period countdown begins before the PreStop hook + is executed. Regardless of the outcome of the handler, + the container will eventually terminate within the + Pod''s termination grace period (unless delayed by + finalizers). Other management of the container blocks + until the hook completes or until the termination + grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: Command is the command line to + execute inside the container, the working + directory for the command is root ('/') in + the container's filesystem. The command is + simply exec'd, it is not run inside a shell, + so traditional shell instructions ('|', etc) + won't work. To use a shell, you need to explicitly + call out to that shell. Exit status of 0 is + treated as live/healthy and non-zero is unhealthy. + items: + type: string + type: array + type: object + httpGet: + description: HTTPGet specifies the http request + to perform. + properties: + host: + description: Host name to connect to, defaults + to the pod IP. You probably want to set "Host" + in httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. + HTTP allows repeated headers. + items: + description: HTTPHeader describes a custom + header to be used in HTTP probes + properties: + name: + description: The header field name + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: Name or number of the port to access + on the container. Number must be in the range + 1 to 65535. Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: Scheme to use for connecting to + the host. Defaults to HTTP. + type: string + required: + - port + type: object + tcpSocket: + description: Deprecated. TCPSocket is NOT supported + as a LifecycleHandler and kept for the backward + compatibility. There are no validation of this + field and lifecycle hooks will fail in runtime + when tcp handler is specified. + properties: + host: + description: 'Optional: Host name to connect + to, defaults to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: Number or name of the port to access + on the container. Number must be in the range + 1 to 65535. Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + description: 'Periodic probe of container liveness. Container + will be restarted if the probe fails. Cannot be updated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: Command is the command line to execute + inside the container, the working directory for + the command is root ('/') in the container's + filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions + ('|', etc) won't work. To use a shell, you need + to explicitly call out to that shell. Exit status + of 0 is treated as live/healthy and non-zero is + unhealthy. + items: + type: string + type: array + type: object + failureThreshold: + description: Minimum consecutive failures for the probe + to be considered failed after having succeeded. Defaults + to 3. Minimum value is 1. + format: int32 + type: integer + grpc: + description: GRPC specifies an action involving a GRPC + port. This is a beta field and requires enabling GRPCContainerProbe + feature gate. + properties: + port: + description: Port number of the gRPC service. Number + must be in the range 1 to 65535. + format: int32 + type: integer + service: + description: "Service is the name of the service + to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + \n If this is not specified, the default behavior + is defined by gRPC." + type: string + required: + - port + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: Host name to connect to, defaults to + the pod IP. You probably want to set "Host" in + httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. + HTTP allows repeated headers. + items: + description: HTTPHeader describes a custom header + to be used in HTTP probes + properties: + name: + description: The header field name + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: Name or number of the port to access + on the container. Number must be in the range + 1 to 65535. Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: Scheme to use for connecting to the + host. Defaults to HTTP. + type: string + required: + - port + type: object + initialDelaySeconds: + description: 'Number of seconds after the container + has started before liveness probes are initiated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' + format: int32 + type: integer + periodSeconds: + description: How often (in seconds) to perform the probe. + Default to 10 seconds. Minimum value is 1. + format: int32 + type: integer + successThreshold: + description: Minimum consecutive successes for the probe + to be considered successful after having failed. Defaults + to 1. Must be 1 for liveness and startup. Minimum + value is 1. + format: int32 + type: integer + tcpSocket: + description: TCPSocket specifies an action involving + a TCP port. + properties: + host: + description: 'Optional: Host name to connect to, + defaults to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: Number or name of the port to access + on the container. Number must be in the range + 1 to 65535. Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + description: Optional duration in seconds the pod needs + to terminate gracefully upon probe failure. The grace + period is the duration in seconds after the processes + running in the pod are sent a termination signal and + the time when the processes are forcibly halted with + a kill signal. Set this value longer than the expected + cleanup time for your process. If this value is nil, + the pod's terminationGracePeriodSeconds will be used. + Otherwise, this value overrides the value provided + by the pod spec. Value must be non-negative integer. + The value zero indicates stop immediately via the + kill signal (no opportunity to shut down). This is + a beta field and requires enabling ProbeTerminationGracePeriod + feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds + is used if unset. + format: int64 + type: integer + timeoutSeconds: + description: 'Number of seconds after which the probe + times out. Defaults to 1 second. Minimum value is + 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' + format: int32 + type: integer + type: object + name: + description: Name of the container specified as a DNS_LABEL. + Each container in a pod must have a unique name (DNS_LABEL). + Cannot be updated. + type: string + ports: + description: List of ports to expose from the container. + Not specifying a port here DOES NOT prevent that port + from being exposed. Any port which is listening on the + default "0.0.0.0" address inside a container will be accessible + from the network. Modifying this array with strategic + merge patch may corrupt the data. For more information + See https://github.com/kubernetes/kubernetes/issues/108255. + Cannot be updated. + items: + description: ContainerPort represents a network port in + a single container. + properties: + containerPort: + description: Number of port to expose on the pod's + IP address. This must be a valid port number, 0 + < x < 65536. + format: int32 + type: integer + hostIP: + description: What host IP to bind the external port + to. + type: string + hostPort: + description: Number of port to expose on the host. + If specified, this must be a valid port number, + 0 < x < 65536. If HostNetwork is specified, this + must match ContainerPort. Most containers do not + need this. + format: int32 + type: integer + name: + description: If specified, this must be an IANA_SVC_NAME + and unique within the pod. Each named port in a + pod must have a unique name. Name for the port that + can be referred to by services. + type: string + protocol: + default: TCP + description: Protocol for port. Must be UDP, TCP, + or SCTP. Defaults to "TCP". + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + description: 'Periodic probe of container service readiness. + Container will be removed from service endpoints if the + probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: Command is the command line to execute + inside the container, the working directory for + the command is root ('/') in the container's + filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions + ('|', etc) won't work. To use a shell, you need + to explicitly call out to that shell. Exit status + of 0 is treated as live/healthy and non-zero is + unhealthy. + items: + type: string + type: array + type: object + failureThreshold: + description: Minimum consecutive failures for the probe + to be considered failed after having succeeded. Defaults + to 3. Minimum value is 1. + format: int32 + type: integer + grpc: + description: GRPC specifies an action involving a GRPC + port. This is a beta field and requires enabling GRPCContainerProbe + feature gate. + properties: + port: + description: Port number of the gRPC service. Number + must be in the range 1 to 65535. + format: int32 + type: integer + service: + description: "Service is the name of the service + to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + \n If this is not specified, the default behavior + is defined by gRPC." + type: string + required: + - port + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: Host name to connect to, defaults to + the pod IP. You probably want to set "Host" in + httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. + HTTP allows repeated headers. + items: + description: HTTPHeader describes a custom header + to be used in HTTP probes + properties: + name: + description: The header field name + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: Name or number of the port to access + on the container. Number must be in the range + 1 to 65535. Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: Scheme to use for connecting to the + host. Defaults to HTTP. + type: string + required: + - port + type: object + initialDelaySeconds: + description: 'Number of seconds after the container + has started before liveness probes are initiated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' + format: int32 + type: integer + periodSeconds: + description: How often (in seconds) to perform the probe. + Default to 10 seconds. Minimum value is 1. + format: int32 + type: integer + successThreshold: + description: Minimum consecutive successes for the probe + to be considered successful after having failed. Defaults + to 1. Must be 1 for liveness and startup. Minimum + value is 1. + format: int32 + type: integer + tcpSocket: + description: TCPSocket specifies an action involving + a TCP port. + properties: + host: + description: 'Optional: Host name to connect to, + defaults to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: Number or name of the port to access + on the container. Number must be in the range + 1 to 65535. Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + description: Optional duration in seconds the pod needs + to terminate gracefully upon probe failure. The grace + period is the duration in seconds after the processes + running in the pod are sent a termination signal and + the time when the processes are forcibly halted with + a kill signal. Set this value longer than the expected + cleanup time for your process. If this value is nil, + the pod's terminationGracePeriodSeconds will be used. + Otherwise, this value overrides the value provided + by the pod spec. Value must be non-negative integer. + The value zero indicates stop immediately via the + kill signal (no opportunity to shut down). This is + a beta field and requires enabling ProbeTerminationGracePeriod + feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds + is used if unset. + format: int64 + type: integer + timeoutSeconds: + description: 'Number of seconds after which the probe + times out. Defaults to 1 second. Minimum value is + 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' + format: int32 + type: integer + type: object + resources: + description: 'Compute Resources required by this container. + Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + 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 + securityContext: + description: 'SecurityContext defines the security options + the container should be run with. If set, the fields of + SecurityContext override the equivalent fields of PodSecurityContext. + More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' + 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 + startupProbe: + description: 'StartupProbe indicates that the Pod has successfully + initialized. If specified, no other probes are executed + until this completes successfully. If this probe fails, + the Pod will be restarted, just as if the livenessProbe + failed. This can be used to provide different probe parameters + at the beginning of a Pod''s lifecycle, when it might + take a long time to load data or warm a cache, than during + steady-state operation. This cannot be updated. More info: + https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: Command is the command line to execute + inside the container, the working directory for + the command is root ('/') in the container's + filesystem. The command is simply exec'd, it is + not run inside a shell, so traditional shell instructions + ('|', etc) won't work. To use a shell, you need + to explicitly call out to that shell. Exit status + of 0 is treated as live/healthy and non-zero is + unhealthy. + items: + type: string + type: array + type: object + failureThreshold: + description: Minimum consecutive failures for the probe + to be considered failed after having succeeded. Defaults + to 3. Minimum value is 1. + format: int32 + type: integer + grpc: + description: GRPC specifies an action involving a GRPC + port. This is a beta field and requires enabling GRPCContainerProbe + feature gate. + properties: + port: + description: Port number of the gRPC service. Number + must be in the range 1 to 65535. + format: int32 + type: integer + service: + description: "Service is the name of the service + to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + \n If this is not specified, the default behavior + is defined by gRPC." + type: string + required: + - port + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: Host name to connect to, defaults to + the pod IP. You probably want to set "Host" in + httpHeaders instead. + type: string + httpHeaders: + description: Custom headers to set in the request. + HTTP allows repeated headers. + items: + description: HTTPHeader describes a custom header + to be used in HTTP probes + properties: + name: + description: The header field name + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: Name or number of the port to access + on the container. Number must be in the range + 1 to 65535. Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: Scheme to use for connecting to the + host. Defaults to HTTP. + type: string + required: + - port + type: object + initialDelaySeconds: + description: 'Number of seconds after the container + has started before liveness probes are initiated. + More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' + format: int32 + type: integer + periodSeconds: + description: How often (in seconds) to perform the probe. + Default to 10 seconds. Minimum value is 1. + format: int32 + type: integer + successThreshold: + description: Minimum consecutive successes for the probe + to be considered successful after having failed. Defaults + to 1. Must be 1 for liveness and startup. Minimum + value is 1. + format: int32 + type: integer + tcpSocket: + description: TCPSocket specifies an action involving + a TCP port. + properties: + host: + description: 'Optional: Host name to connect to, + defaults to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: Number or name of the port to access + on the container. Number must be in the range + 1 to 65535. Name must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + description: Optional duration in seconds the pod needs + to terminate gracefully upon probe failure. The grace + period is the duration in seconds after the processes + running in the pod are sent a termination signal and + the time when the processes are forcibly halted with + a kill signal. Set this value longer than the expected + cleanup time for your process. If this value is nil, + the pod's terminationGracePeriodSeconds will be used. + Otherwise, this value overrides the value provided + by the pod spec. Value must be non-negative integer. + The value zero indicates stop immediately via the + kill signal (no opportunity to shut down). This is + a beta field and requires enabling ProbeTerminationGracePeriod + feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds + is used if unset. + format: int64 + type: integer + timeoutSeconds: + description: 'Number of seconds after which the probe + times out. Defaults to 1 second. Minimum value is + 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' + format: int32 + type: integer + type: object + stdin: + description: Whether this container should allocate a buffer + for stdin in the container runtime. If this is not set, + reads from stdin in the container will always result in + EOF. Default is false. + type: boolean + stdinOnce: + description: Whether the container runtime should close + the stdin channel after it has been opened by a single + attach. When stdin is true the stdin stream will remain + open across multiple attach sessions. If stdinOnce is + set to true, stdin is opened on container start, is empty + until the first client attaches to stdin, and then remains + open and accepts data until the client disconnects, at + which time stdin is closed and remains closed until the + container is restarted. If this flag is false, a container + processes that reads from stdin will never receive an + EOF. Default is false + type: boolean + terminationMessagePath: + description: 'Optional: Path at which the file to which + the container''s termination message will be written is + mounted into the container''s filesystem. Message written + is intended to be brief final status, such as an assertion + failure message. Will be truncated by the node if greater + than 4096 bytes. The total message length across all containers + will be limited to 12kb. Defaults to /dev/termination-log. + Cannot be updated.' + type: string + terminationMessagePolicy: + description: Indicate how the termination message should + be populated. File will use the contents of terminationMessagePath + to populate the container status message on both success + and failure. FallbackToLogsOnError will use the last chunk + of container log output if the termination message file + is empty and the container exited with an error. The log + output is limited to 2048 bytes or 80 lines, whichever + is smaller. Defaults to File. Cannot be updated. + type: string + tty: + description: Whether this container should allocate a TTY + for itself, also requires 'stdin' to be true. Default + is false. + type: boolean + volumeDevices: + description: volumeDevices is the list of block devices + to be used by the container. + items: + description: volumeDevice describes a mapping of a raw + block device within a container. + properties: + devicePath: + description: devicePath is the path inside of the + container that the device will be mapped to. + type: string + name: + description: name must match the name of a persistentVolumeClaim + in the pod + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + description: Pod volumes to mount into the container's filesystem. + Cannot be updated. + 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 + workingDir: + description: Container's working directory. If not specified, + the container runtime's default will be used, which might + be configured in the container image. Cannot be updated. + type: string + required: + - name + type: object + replicas: + description: Replica number of the stateful set. + format: int32 + type: integer + required: + - replicas + type: object + type: array + discoveryServerTemplate: + description: Discovery server configurational parameters. + properties: + cluster: + description: Cloud instance name that holds DiscoveryServer instance + with `Server` type. Should be empty if the type is `Server` + since it takes cloud instance's name automatically. Should be + set if the type is `Client`. + type: string + domainID: + description: ROS domain ID for robot. See https://docs.ros.org/en/foxy/Concepts/About-Domain-ID.html. + maximum: 101 + minimum: 0 + type: integer + hostname: + description: If instance type is `Server`, it can be an arbitrary + value. If instance type is `Client`, it should be the same with + Server's hostname. Used for getting Server's IP over DNS. + type: string + reference: + description: Reference to the `Server` instance. It is used if + `.spec.type` is `Client`. Referenced object can be previously + provisioned in another cluster. In that case, cluster's name + can be specified in `.spec.cluster` field. + 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 + subdomain: + description: If instance type is `Server`, it can be an arbitrary + value. If instance type is `Client`, it should be the same with + Server's subdomain. Used for getting Server's IP over DNS. + type: string + type: + description: Instance type can be either `Server` or `Client`. + If `Server`, instance creates discovery server resources and + workloads. Other `Client` instances can connect to the `Server` + instance. If `Client`, instance tries to connect a `Server` + instance and hold `Server` configuration in a ConfigMap. + type: string + required: + - domainID + type: object + ros2BridgeTemplate: + description: ROS 2 Bridge configurational parameters. + properties: + discoveryServerRef: + description: Object reference to DiscoveryServer. + 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 + distro: + description: Configurational parameters for ROS 2 bridge. + enum: + - foxy + - galactic + - humble + type: string + ingress: + description: ROS2Bridge will create an Ingress resource if `true`. + type: boolean + serviceType: + default: ClusterIP + description: Service type of ROS2Bridge. `ClusterIP` and `NodePort` + is supported. + enum: + - ClusterIP + - NodePort + type: string + tlsSecretName: + description: Name of the TLS secret. + type: string + required: + - distro + type: object + 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: + - discoveryServerTemplate + type: object + status: + description: ROS2WorkloadStatus defines the observed state of ROS2Workload. + properties: + discoveryServerStatus: + description: Discovery server instance status. + 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 DiscoveryServer instance. + properties: + configMapStatus: + description: Status of the DiscoveryServer config map. + 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 + connectionInfo: + description: Connection information. + properties: + configMapName: + description: Name of the config map that holds discovery + server configuration. + type: string + ip: + description: IP of the discovery server. IP is being obtained + from the DNS name, which is being built according to + the discovery server configuration. + type: string + uri: + description: URI of the discovery server. Discovery server + instance tries to ping this address to see if it's reachable. + type: string + type: object + phase: + description: Phase of the DiscoveryServer. + type: string + podStatus: + description: Status of the DiscoveryServer pod. + properties: + ip: + description: IP of the pod. + type: string + 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 + type: object + serviceExportStatus: + description: Status of the DiscoveryServer ServiceExport. + 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 + serviceStatus: + description: Status of the DiscoveryServer service. + 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 + type: object + type: object + phase: + description: Phase of ROS2Workload. It sums the general status of + ROS 2 workload(s). + 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 + ros2BridgeStatus: + description: ROS 2 Bridge instance status. + properties: + connection: + description: Address of the robot service that can be reached + from outside. + type: string + 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: + connectionInfo: + description: Connection info obtained from DiscoveryServer. + properties: + configMapName: + description: Name of the config map that holds discovery + server configuration. + type: string + ip: + description: IP of the discovery server. IP is being obtained + from the DNS name, which is being built according to + the discovery server configuration. + type: string + uri: + description: URI of the discovery server. Discovery server + instance tries to ping this address to see if it's reachable. + type: string + type: object + ingressStatus: + description: Status of ROS2Bridge 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 ROS2Bridge. + type: string + podStatus: + description: Status of ROS2Bridge pod. + 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 + serviceStatus: + description: Status of ROS2Bridge 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 + type: object + type: object + statefulSetStatuses: + description: Status of owned StatefulSet and containers. + items: + 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 ROS2Bridge instance. + properties: + availableReplicas: + description: Total number of available pods (ready for at + least minReadySeconds) targeted by this statefulset. + format: int32 + type: integer + collisionCount: + description: collisionCount is the count of hash collisions + for the StatefulSet. The StatefulSet controller uses this + field as a collision avoidance mechanism when it needs + to create the name for the newest ControllerRevision. + format: int32 + type: integer + conditions: + description: Represents the latest available observations + of a statefulset's current state. + items: + description: StatefulSetCondition describes the state + of a statefulset at a certain point. + properties: + lastTransitionTime: + description: Last time the condition transitioned + from one status to another. + 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 statefulset condition. + type: string + required: + - status + - type + type: object + type: array + currentReplicas: + description: currentReplicas is the number of Pods created + by the StatefulSet controller from the StatefulSet version + indicated by currentRevision. + format: int32 + type: integer + currentRevision: + description: currentRevision, if not empty, indicates the + version of the StatefulSet used to generate Pods in the + sequence [0,currentReplicas). + type: string + observedGeneration: + description: observedGeneration is the most recent generation + observed for this StatefulSet. It corresponds to the StatefulSet's + generation, which is updated on mutation by the API Server. + format: int64 + type: integer + readyReplicas: + description: readyReplicas is the number of pods created + for this StatefulSet with a Ready Condition. + format: int32 + type: integer + replicas: + description: replicas is the number of Pods created by the + StatefulSet controller. + format: int32 + type: integer + updateRevision: + description: updateRevision, if not empty, indicates the + version of the StatefulSet used to generate Pods in the + sequence [replicas-updatedReplicas,replicas) + type: string + updatedReplicas: + description: updatedReplicas is the number of Pods created + by the StatefulSet controller from the StatefulSet version + indicated by updateRevision. + format: int32 + type: integer + required: + - replicas + type: object + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/pom.xml b/pom.xml index f1c4a2a..7d9029a 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 io.roboscale.robot robot-fabric8-client - 0.1.0-alpha.23 + 0.1.0-alpha.24 robot-fabric8-client https://robolaunch.io diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ROS2Bridge.java b/src/main/java/io/roboscale/robot/v1alpha2/ROS2Bridge.java new file mode 100644 index 0000000..4ca9c5d --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ROS2Bridge.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("ros2bridge") +@io.fabric8.kubernetes.model.annotation.Plural("ros2bridges") +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class ROS2Bridge extends io.fabric8.kubernetes.client.CustomResource implements io.fabric8.kubernetes.api.model.Namespaced { +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ROS2BridgeSpec.java b/src/main/java/io/roboscale/robot/v1alpha2/ROS2BridgeSpec.java new file mode 100644 index 0000000..b2974cb --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ROS2BridgeSpec.java @@ -0,0 +1,127 @@ +package io.roboscale.robot.v1alpha2; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"discoveryServerRef","distro","ingress","serviceType","tlsSecretName"}) +@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 ROS2BridgeSpec implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Object reference to DiscoveryServer. + */ + @com.fasterxml.jackson.annotation.JsonProperty("discoveryServerRef") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Object reference to DiscoveryServer.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2bridgespec.DiscoveryServerRef discoveryServerRef; + + public io.roboscale.robot.v1alpha2.ros2bridgespec.DiscoveryServerRef getDiscoveryServerRef() { + return discoveryServerRef; + } + + public void setDiscoveryServerRef(io.roboscale.robot.v1alpha2.ros2bridgespec.DiscoveryServerRef discoveryServerRef) { + this.discoveryServerRef = discoveryServerRef; + } + + public enum Distro { + + @com.fasterxml.jackson.annotation.JsonProperty("foxy") + FOXY("foxy"), @com.fasterxml.jackson.annotation.JsonProperty("galactic") + GALACTIC("galactic"), @com.fasterxml.jackson.annotation.JsonProperty("humble") + HUMBLE("humble"); + + java.lang.String value; + + Distro(java.lang.String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue() + public java.lang.String getValue() { + return value; + } + } + + /** + * Configurational parameters for ROS 2 bridge. + */ + @com.fasterxml.jackson.annotation.JsonProperty("distro") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Configurational parameters for ROS 2 bridge.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Distro distro; + + public Distro getDistro() { + return distro; + } + + public void setDistro(Distro distro) { + this.distro = distro; + } + + /** + * ROS2Bridge will create an Ingress resource if `true`. + */ + @com.fasterxml.jackson.annotation.JsonProperty("ingress") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("ROS2Bridge 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; + } + + 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 ROS2Bridge. `ClusterIP` and `NodePort` is supported. + */ + @com.fasterxml.jackson.annotation.JsonProperty("serviceType") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Service type of ROS2Bridge. `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. + */ + @com.fasterxml.jackson.annotation.JsonProperty("tlsSecretName") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the TLS secret.") + @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; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ROS2BridgeStatus.java b/src/main/java/io/roboscale/robot/v1alpha2/ROS2BridgeStatus.java new file mode 100644 index 0000000..6b06888 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ROS2BridgeStatus.java @@ -0,0 +1,89 @@ +package io.roboscale.robot.v1alpha2; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"connectionInfo","ingressStatus","phase","podStatus","serviceStatus"}) +@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 ROS2BridgeStatus implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Connection info obtained from DiscoveryServer. + */ + @com.fasterxml.jackson.annotation.JsonProperty("connectionInfo") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Connection info obtained from DiscoveryServer.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2bridgestatus.ConnectionInfo connectionInfo; + + public io.roboscale.robot.v1alpha2.ros2bridgestatus.ConnectionInfo getConnectionInfo() { + return connectionInfo; + } + + public void setConnectionInfo(io.roboscale.robot.v1alpha2.ros2bridgestatus.ConnectionInfo connectionInfo) { + this.connectionInfo = connectionInfo; + } + + /** + * Status of ROS2Bridge Ingress. + */ + @com.fasterxml.jackson.annotation.JsonProperty("ingressStatus") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Status of ROS2Bridge Ingress.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2bridgestatus.IngressStatus ingressStatus; + + public io.roboscale.robot.v1alpha2.ros2bridgestatus.IngressStatus getIngressStatus() { + return ingressStatus; + } + + public void setIngressStatus(io.roboscale.robot.v1alpha2.ros2bridgestatus.IngressStatus ingressStatus) { + this.ingressStatus = ingressStatus; + } + + /** + * Phase of ROS2Bridge. + */ + @com.fasterxml.jackson.annotation.JsonProperty("phase") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Phase of ROS2Bridge.") + @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; + } + + /** + * Status of ROS2Bridge pod. + */ + @com.fasterxml.jackson.annotation.JsonProperty("podStatus") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Status of ROS2Bridge pod.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2bridgestatus.PodStatus podStatus; + + public io.roboscale.robot.v1alpha2.ros2bridgestatus.PodStatus getPodStatus() { + return podStatus; + } + + public void setPodStatus(io.roboscale.robot.v1alpha2.ros2bridgestatus.PodStatus podStatus) { + this.podStatus = podStatus; + } + + /** + * Status of ROS2Bridge service. + */ + @com.fasterxml.jackson.annotation.JsonProperty("serviceStatus") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Status of ROS2Bridge service.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2bridgestatus.ServiceStatus serviceStatus; + + public io.roboscale.robot.v1alpha2.ros2bridgestatus.ServiceStatus getServiceStatus() { + return serviceStatus; + } + + public void setServiceStatus(io.roboscale.robot.v1alpha2.ros2bridgestatus.ServiceStatus serviceStatus) { + this.serviceStatus = serviceStatus; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ROS2Workload.java b/src/main/java/io/roboscale/robot/v1alpha2/ROS2Workload.java new file mode 100644 index 0000000..9eef70a --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ROS2Workload.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("ros2workload") +@io.fabric8.kubernetes.model.annotation.Plural("ros2workloads") +@javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") +public class ROS2Workload extends io.fabric8.kubernetes.client.CustomResource implements io.fabric8.kubernetes.api.model.Namespaced { +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ROS2WorkloadSpec.java b/src/main/java/io/roboscale/robot/v1alpha2/ROS2WorkloadSpec.java new file mode 100644 index 0000000..cdc2ce8 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ROS2WorkloadSpec.java @@ -0,0 +1,74 @@ +package io.roboscale.robot.v1alpha2; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"containers","discoveryServerTemplate","ros2BridgeTemplate","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 ROS2WorkloadSpec implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Configurational parameters for containers that will be encapsulated within the ROS 2 workload StatefulSet. + */ + @com.fasterxml.jackson.annotation.JsonProperty("containers") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Configurational parameters for containers that will be encapsulated within the ROS 2 workload StatefulSet.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List containers; + + public java.util.List getContainers() { + return containers; + } + + public void setContainers(java.util.List containers) { + this.containers = containers; + } + + /** + * Discovery server configurational parameters. + */ + @com.fasterxml.jackson.annotation.JsonProperty("discoveryServerTemplate") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Discovery server configurational parameters.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.DiscoveryServerTemplate discoveryServerTemplate; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.DiscoveryServerTemplate getDiscoveryServerTemplate() { + return discoveryServerTemplate; + } + + public void setDiscoveryServerTemplate(io.roboscale.robot.v1alpha2.ros2workloadspec.DiscoveryServerTemplate discoveryServerTemplate) { + this.discoveryServerTemplate = discoveryServerTemplate; + } + + /** + * ROS 2 Bridge configurational parameters. + */ + @com.fasterxml.jackson.annotation.JsonProperty("ros2BridgeTemplate") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("ROS 2 Bridge configurational parameters.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.Ros2BridgeTemplate ros2BridgeTemplate; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.Ros2BridgeTemplate getRos2BridgeTemplate() { + return ros2BridgeTemplate; + } + + public void setRos2BridgeTemplate(io.roboscale.robot.v1alpha2.ros2workloadspec.Ros2BridgeTemplate ros2BridgeTemplate) { + this.ros2BridgeTemplate = ros2BridgeTemplate; + } + + /** + * 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/ROS2WorkloadStatus.java b/src/main/java/io/roboscale/robot/v1alpha2/ROS2WorkloadStatus.java new file mode 100644 index 0000000..aa562ee --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ROS2WorkloadStatus.java @@ -0,0 +1,89 @@ +package io.roboscale.robot.v1alpha2; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"discoveryServerStatus","phase","pvcStatuses","ros2BridgeStatus","statefulSetStatuses"}) +@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 ROS2WorkloadStatus implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Discovery server instance status. + */ + @com.fasterxml.jackson.annotation.JsonProperty("discoveryServerStatus") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Discovery server instance status.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadstatus.DiscoveryServerStatus discoveryServerStatus; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.DiscoveryServerStatus getDiscoveryServerStatus() { + return discoveryServerStatus; + } + + public void setDiscoveryServerStatus(io.roboscale.robot.v1alpha2.ros2workloadstatus.DiscoveryServerStatus discoveryServerStatus) { + this.discoveryServerStatus = discoveryServerStatus; + } + + /** + * Phase of ROS2Workload. It sums the general status of ROS 2 workload(s). + */ + @com.fasterxml.jackson.annotation.JsonProperty("phase") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Phase of ROS2Workload. It sums the general status of ROS 2 workload(s).") + @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; + } + + /** + * ROS 2 Bridge instance status. + */ + @com.fasterxml.jackson.annotation.JsonProperty("ros2BridgeStatus") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("ROS 2 Bridge instance status.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadstatus.Ros2BridgeStatus ros2BridgeStatus; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.Ros2BridgeStatus getRos2BridgeStatus() { + return ros2BridgeStatus; + } + + public void setRos2BridgeStatus(io.roboscale.robot.v1alpha2.ros2workloadstatus.Ros2BridgeStatus ros2BridgeStatus) { + this.ros2BridgeStatus = ros2BridgeStatus; + } + + /** + * Status of owned StatefulSet and containers. + */ + @com.fasterxml.jackson.annotation.JsonProperty("statefulSetStatuses") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Status of owned StatefulSet and containers.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List statefulSetStatuses; + + public java.util.List getStatefulSetStatuses() { + return statefulSetStatuses; + } + + public void setStatefulSetStatuses(java.util.List statefulSetStatuses) { + this.statefulSetStatuses = statefulSetStatuses; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgespec/DiscoveryServerRef.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgespec/DiscoveryServerRef.java new file mode 100644 index 0000000..dd635d5 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgespec/DiscoveryServerRef.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.ros2bridgespec; + +@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 DiscoveryServerRef 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/ros2bridgestatus/ConnectionInfo.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgestatus/ConnectionInfo.java new file mode 100644 index 0000000..c116dd6 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgestatus/ConnectionInfo.java @@ -0,0 +1,57 @@ +package io.roboscale.robot.v1alpha2.ros2bridgestatus; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"configMapName","ip","uri"}) +@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 ConnectionInfo implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Name of the config map that holds discovery server configuration. + */ + @com.fasterxml.jackson.annotation.JsonProperty("configMapName") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the config map that holds discovery server configuration.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String configMapName; + + public String getConfigMapName() { + return configMapName; + } + + public void setConfigMapName(String configMapName) { + this.configMapName = configMapName; + } + + /** + * IP of the discovery server. IP is being obtained from the DNS name, which is being built according to the discovery server configuration. + */ + @com.fasterxml.jackson.annotation.JsonProperty("ip") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("IP of the discovery server. IP is being obtained from the DNS name, which is being built according to the discovery server configuration.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String ip; + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + /** + * URI of the discovery server. Discovery server instance tries to ping this address to see if it's reachable. + */ + @com.fasterxml.jackson.annotation.JsonProperty("uri") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("URI of the discovery server. Discovery server instance tries to ping this address to see if it's reachable.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String uri; + + public String getUri() { + return uri; + } + + public void setUri(String uri) { + this.uri = uri; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgestatus/IngressStatus.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgestatus/IngressStatus.java new file mode 100644 index 0000000..80f9e37 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgestatus/IngressStatus.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.ros2bridgestatus; + +@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.ros2bridgestatus.ingressstatus.Reference reference; + + public io.roboscale.robot.v1alpha2.ros2bridgestatus.ingressstatus.Reference getReference() { + return reference; + } + + public void setReference(io.roboscale.robot.v1alpha2.ros2bridgestatus.ingressstatus.Reference reference) { + this.reference = reference; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgestatus/PodStatus.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgestatus/PodStatus.java new file mode 100644 index 0000000..beec3b7 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgestatus/PodStatus.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.ros2bridgestatus; + +@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 PodStatus 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.ros2bridgestatus.podstatus.Reference reference; + + public io.roboscale.robot.v1alpha2.ros2bridgestatus.podstatus.Reference getReference() { + return reference; + } + + public void setReference(io.roboscale.robot.v1alpha2.ros2bridgestatus.podstatus.Reference reference) { + this.reference = reference; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgestatus/ServiceStatus.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgestatus/ServiceStatus.java new file mode 100644 index 0000000..1d17bb8 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgestatus/ServiceStatus.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.ros2bridgestatus; + +@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.ros2bridgestatus.servicestatus.Resource resource; + + public io.roboscale.robot.v1alpha2.ros2bridgestatus.servicestatus.Resource getResource() { + return resource; + } + + public void setResource(io.roboscale.robot.v1alpha2.ros2bridgestatus.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/ros2bridgestatus/ingressstatus/Reference.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgestatus/ingressstatus/Reference.java new file mode 100644 index 0000000..f5ed7b9 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgestatus/ingressstatus/Reference.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.ros2bridgestatus.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/ros2bridgestatus/podstatus/Reference.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgestatus/podstatus/Reference.java new file mode 100644 index 0000000..b561363 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgestatus/podstatus/Reference.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.ros2bridgestatus.podstatus; + +@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/ros2bridgestatus/servicestatus/Resource.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgestatus/servicestatus/Resource.java new file mode 100644 index 0000000..a738756 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgestatus/servicestatus/Resource.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.ros2bridgestatus.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.ros2bridgestatus.servicestatus.resource.Reference reference; + + public io.roboscale.robot.v1alpha2.ros2bridgestatus.servicestatus.resource.Reference getReference() { + return reference; + } + + public void setReference(io.roboscale.robot.v1alpha2.ros2bridgestatus.servicestatus.resource.Reference reference) { + this.reference = reference; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgestatus/servicestatus/resource/Reference.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgestatus/servicestatus/resource/Reference.java new file mode 100644 index 0000000..3528c12 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2bridgestatus/servicestatus/resource/Reference.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.ros2bridgestatus.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; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/Containers.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/Containers.java new file mode 100644 index 0000000..4dbc413 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/Containers.java @@ -0,0 +1,42 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"container","replicas"}) +@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 Containers implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Single container configuration for stateful set. + */ + @com.fasterxml.jackson.annotation.JsonProperty("container") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Single container configuration for stateful set.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.Container container; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.Container getContainer() { + return container; + } + + public void setContainer(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.Container container) { + this.container = container; + } + + /** + * Replica number of the stateful set. + */ + @com.fasterxml.jackson.annotation.JsonProperty("replicas") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Replica number of the stateful set.") + @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; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/DiscoveryServerTemplate.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/DiscoveryServerTemplate.java new file mode 100644 index 0000000..1e37dfb --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/DiscoveryServerTemplate.java @@ -0,0 +1,108 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"cluster","domainID","hostname","reference","subdomain","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 DiscoveryServerTemplate implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Cloud instance name that holds DiscoveryServer instance with `Server` type. Should be empty if the type is `Server` since it takes cloud instance's name automatically. Should be set if the type is `Client`. + */ + @com.fasterxml.jackson.annotation.JsonProperty("cluster") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Cloud instance name that holds DiscoveryServer instance with `Server` type. Should be empty if the type is `Server` since it takes cloud instance's name automatically. Should be set if the type is `Client`.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String cluster; + + public String getCluster() { + return cluster; + } + + public void setCluster(String cluster) { + this.cluster = cluster; + } + + /** + * ROS domain ID for robot. See https://docs.ros.org/en/foxy/Concepts/About-Domain-ID.html. + */ + @com.fasterxml.jackson.annotation.JsonProperty("domainID") + @io.fabric8.generator.annotation.Required() + @io.fabric8.generator.annotation.Max(101.0) + @io.fabric8.generator.annotation.Min(0.0) + @com.fasterxml.jackson.annotation.JsonPropertyDescription("ROS domain ID for robot. See https://docs.ros.org/en/foxy/Concepts/About-Domain-ID.html.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Long domainID; + + public Long getDomainID() { + return domainID; + } + + public void setDomainID(Long domainID) { + this.domainID = domainID; + } + + /** + * If instance type is `Server`, it can be an arbitrary value. If instance type is `Client`, it should be the same with Server's hostname. Used for getting Server's IP over DNS. + */ + @com.fasterxml.jackson.annotation.JsonProperty("hostname") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("If instance type is `Server`, it can be an arbitrary value. If instance type is `Client`, it should be the same with Server's hostname. Used for getting Server's IP over DNS.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String hostname; + + public String getHostname() { + return hostname; + } + + public void setHostname(String hostname) { + this.hostname = hostname; + } + + /** + * Reference to the `Server` instance. It is used if `.spec.type` is `Client`. Referenced object can be previously provisioned in another cluster. In that case, cluster's name can be specified in `.spec.cluster` field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("reference") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Reference to the `Server` instance. It is used if `.spec.type` is `Client`. Referenced object can be previously provisioned in another cluster. In that case, cluster's name can be specified in `.spec.cluster` field.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.discoveryservertemplate.Reference reference; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.discoveryservertemplate.Reference getReference() { + return reference; + } + + public void setReference(io.roboscale.robot.v1alpha2.ros2workloadspec.discoveryservertemplate.Reference reference) { + this.reference = reference; + } + + /** + * If instance type is `Server`, it can be an arbitrary value. If instance type is `Client`, it should be the same with Server's subdomain. Used for getting Server's IP over DNS. + */ + @com.fasterxml.jackson.annotation.JsonProperty("subdomain") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("If instance type is `Server`, it can be an arbitrary value. If instance type is `Client`, it should be the same with Server's subdomain. Used for getting Server's IP over DNS.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String subdomain; + + public String getSubdomain() { + return subdomain; + } + + public void setSubdomain(String subdomain) { + this.subdomain = subdomain; + } + + /** + * Instance type can be either `Server` or `Client`. If `Server`, instance creates discovery server resources and workloads. Other `Client` instances can connect to the `Server` instance. If `Client`, instance tries to connect a `Server` instance and hold `Server` configuration in a ConfigMap. + */ + @com.fasterxml.jackson.annotation.JsonProperty("type") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Instance type can be either `Server` or `Client`. If `Server`, instance creates discovery server resources and workloads. Other `Client` instances can connect to the `Server` instance. If `Client`, instance tries to connect a `Server` instance and hold `Server` configuration in a ConfigMap.") + @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/ros2workloadspec/Ros2BridgeTemplate.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/Ros2BridgeTemplate.java new file mode 100644 index 0000000..424a5fb --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/Ros2BridgeTemplate.java @@ -0,0 +1,127 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"discoveryServerRef","distro","ingress","serviceType","tlsSecretName"}) +@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 Ros2BridgeTemplate implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Object reference to DiscoveryServer. + */ + @com.fasterxml.jackson.annotation.JsonProperty("discoveryServerRef") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Object reference to DiscoveryServer.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.ros2bridgetemplate.DiscoveryServerRef discoveryServerRef; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.ros2bridgetemplate.DiscoveryServerRef getDiscoveryServerRef() { + return discoveryServerRef; + } + + public void setDiscoveryServerRef(io.roboscale.robot.v1alpha2.ros2workloadspec.ros2bridgetemplate.DiscoveryServerRef discoveryServerRef) { + this.discoveryServerRef = discoveryServerRef; + } + + public enum Distro { + + @com.fasterxml.jackson.annotation.JsonProperty("foxy") + FOXY("foxy"), @com.fasterxml.jackson.annotation.JsonProperty("galactic") + GALACTIC("galactic"), @com.fasterxml.jackson.annotation.JsonProperty("humble") + HUMBLE("humble"); + + java.lang.String value; + + Distro(java.lang.String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue() + public java.lang.String getValue() { + return value; + } + } + + /** + * Configurational parameters for ROS 2 bridge. + */ + @com.fasterxml.jackson.annotation.JsonProperty("distro") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Configurational parameters for ROS 2 bridge.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Distro distro; + + public Distro getDistro() { + return distro; + } + + public void setDistro(Distro distro) { + this.distro = distro; + } + + /** + * ROS2Bridge will create an Ingress resource if `true`. + */ + @com.fasterxml.jackson.annotation.JsonProperty("ingress") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("ROS2Bridge 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; + } + + 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 ROS2Bridge. `ClusterIP` and `NodePort` is supported. + */ + @com.fasterxml.jackson.annotation.JsonProperty("serviceType") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Service type of ROS2Bridge. `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. + */ + @com.fasterxml.jackson.annotation.JsonProperty("tlsSecretName") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the TLS secret.") + @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; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/VolumeClaimTemplates.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/VolumeClaimTemplates.java new file mode 100644 index 0000000..d50352d --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/VolumeClaimTemplates.java @@ -0,0 +1,42 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec; + +@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.ros2workloadspec.volumeclaimtemplates.Metadata metadata; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.volumeclaimtemplates.Metadata getMetadata() { + return metadata; + } + + public void setMetadata(io.roboscale.robot.v1alpha2.ros2workloadspec.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.ros2workloadspec.volumeclaimtemplates.Spec spec; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.volumeclaimtemplates.Spec getSpec() { + return spec; + } + + public void setSpec(io.roboscale.robot.v1alpha2.ros2workloadspec.volumeclaimtemplates.Spec spec) { + this.spec = spec; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/Container.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/Container.java new file mode 100644 index 0000000..1259e9e --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/Container.java @@ -0,0 +1,362 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"args","command","env","envFrom","image","imagePullPolicy","lifecycle","livenessProbe","name","ports","readinessProbe","resources","securityContext","startupProbe","stdin","stdinOnce","terminationMessagePath","terminationMessagePolicy","tty","volumeDevices","volumeMounts","workingDir"}) +@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 { + + /** + * Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + */ + @com.fasterxml.jackson.annotation.JsonProperty("args") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List args; + + public java.util.List getArgs() { + return args; + } + + public void setArgs(java.util.List args) { + this.args = args; + } + + /** + * Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + */ + @com.fasterxml.jackson.annotation.JsonProperty("command") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List command; + + public java.util.List getCommand() { + return command; + } + + public void setCommand(java.util.List command) { + this.command = command; + } + + /** + * List of environment variables to set in the container. Cannot be updated. + */ + @com.fasterxml.jackson.annotation.JsonProperty("env") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("List of environment variables to set in the container. Cannot be updated.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List env; + + public java.util.List getEnv() { + return env; + } + + public void setEnv(java.util.List env) { + this.env = env; + } + + /** + * List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. + */ + @com.fasterxml.jackson.annotation.JsonProperty("envFrom") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List envFrom; + + public java.util.List getEnvFrom() { + return envFrom; + } + + public void setEnvFrom(java.util.List envFrom) { + this.envFrom = envFrom; + } + + /** + * Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. + */ + @com.fasterxml.jackson.annotation.JsonProperty("image") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.") + @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; + } + + /** + * Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images + */ + @com.fasterxml.jackson.annotation.JsonProperty("imagePullPolicy") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String imagePullPolicy; + + public String getImagePullPolicy() { + return imagePullPolicy; + } + + public void setImagePullPolicy(String imagePullPolicy) { + this.imagePullPolicy = imagePullPolicy; + } + + /** + * Actions that the management system should take in response to container lifecycle events. Cannot be updated. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycle") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Actions that the management system should take in response to container lifecycle events. Cannot be updated.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.Lifecycle lifecycle; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.Lifecycle getLifecycle() { + return lifecycle; + } + + public void setLifecycle(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.Lifecycle lifecycle) { + this.lifecycle = lifecycle; + } + + /** + * Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + */ + @com.fasterxml.jackson.annotation.JsonProperty("livenessProbe") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.LivenessProbe livenessProbe; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.LivenessProbe getLivenessProbe() { + return livenessProbe; + } + + public void setLivenessProbe(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.LivenessProbe livenessProbe) { + this.livenessProbe = livenessProbe; + } + + /** + * Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). 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; + } + + /** + * List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. + */ + @com.fasterxml.jackson.annotation.JsonProperty("ports") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List ports; + + public java.util.List getPorts() { + return ports; + } + + public void setPorts(java.util.List ports) { + this.ports = ports; + } + + /** + * Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + */ + @com.fasterxml.jackson.annotation.JsonProperty("readinessProbe") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.ReadinessProbe readinessProbe; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.ReadinessProbe getReadinessProbe() { + return readinessProbe; + } + + public void setReadinessProbe(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.ReadinessProbe readinessProbe) { + this.readinessProbe = readinessProbe; + } + + /** + * Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + */ + @com.fasterxml.jackson.annotation.JsonProperty("resources") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.Resources resources; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.Resources getResources() { + return resources; + } + + public void setResources(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.Resources resources) { + this.resources = resources; + } + + /** + * SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + */ + @com.fasterxml.jackson.annotation.JsonProperty("securityContext") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.SecurityContext securityContext; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.SecurityContext getSecurityContext() { + return securityContext; + } + + public void setSecurityContext(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.SecurityContext securityContext) { + this.securityContext = securityContext; + } + + /** + * StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + */ + @com.fasterxml.jackson.annotation.JsonProperty("startupProbe") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.StartupProbe startupProbe; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.StartupProbe getStartupProbe() { + return startupProbe; + } + + public void setStartupProbe(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.StartupProbe startupProbe) { + this.startupProbe = startupProbe; + } + + /** + * Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. + */ + @com.fasterxml.jackson.annotation.JsonProperty("stdin") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean stdin; + + public Boolean getStdin() { + return stdin; + } + + public void setStdin(Boolean stdin) { + this.stdin = stdin; + } + + /** + * Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false + */ + @com.fasterxml.jackson.annotation.JsonProperty("stdinOnce") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean stdinOnce; + + public Boolean getStdinOnce() { + return stdinOnce; + } + + public void setStdinOnce(Boolean stdinOnce) { + this.stdinOnce = stdinOnce; + } + + /** + * Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. + */ + @com.fasterxml.jackson.annotation.JsonProperty("terminationMessagePath") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String terminationMessagePath; + + public String getTerminationMessagePath() { + return terminationMessagePath; + } + + public void setTerminationMessagePath(String terminationMessagePath) { + this.terminationMessagePath = terminationMessagePath; + } + + /** + * Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. + */ + @com.fasterxml.jackson.annotation.JsonProperty("terminationMessagePolicy") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String terminationMessagePolicy; + + public String getTerminationMessagePolicy() { + return terminationMessagePolicy; + } + + public void setTerminationMessagePolicy(String terminationMessagePolicy) { + this.terminationMessagePolicy = terminationMessagePolicy; + } + + /** + * Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. + */ + @com.fasterxml.jackson.annotation.JsonProperty("tty") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Boolean tty; + + public Boolean getTty() { + return tty; + } + + public void setTty(Boolean tty) { + this.tty = tty; + } + + /** + * volumeDevices is the list of block devices to be used by the container. + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumeDevices") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("volumeDevices is the list of block devices to be used by the container.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List volumeDevices; + + public java.util.List getVolumeDevices() { + return volumeDevices; + } + + public void setVolumeDevices(java.util.List volumeDevices) { + this.volumeDevices = volumeDevices; + } + + /** + * Pod volumes to mount into the container's filesystem. Cannot be updated. + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumeMounts") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Pod volumes to mount into the container's filesystem. Cannot be updated.") + @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; + } + + /** + * Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. + */ + @com.fasterxml.jackson.annotation.JsonProperty("workingDir") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String workingDir; + + public String getWorkingDir() { + return workingDir; + } + + public void setWorkingDir(String workingDir) { + this.workingDir = workingDir; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/Env.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/Env.java new file mode 100644 index 0000000..794f5f8 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/Env.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"name","value","valueFrom"}) +@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 Env implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Name of the environment variable. Must be a C_IDENTIFIER. + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the environment variable. Must be a C_IDENTIFIER.") + @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; + } + + /** + * Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + */ + @com.fasterxml.jackson.annotation.JsonProperty("value") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\".") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String value; + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + /** + * Source for the environment variable's value. Cannot be used if value is not empty. + */ + @com.fasterxml.jackson.annotation.JsonProperty("valueFrom") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Source for the environment variable's value. Cannot be used if value is not empty.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.env.ValueFrom valueFrom; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.env.ValueFrom getValueFrom() { + return valueFrom; + } + + public void setValueFrom(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.env.ValueFrom valueFrom) { + this.valueFrom = valueFrom; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/EnvFrom.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/EnvFrom.java new file mode 100644 index 0000000..4cc6b64 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/EnvFrom.java @@ -0,0 +1,57 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"configMapRef","prefix","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 EnvFrom implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * The ConfigMap to select from + */ + @com.fasterxml.jackson.annotation.JsonProperty("configMapRef") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The ConfigMap to select from") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.envfrom.ConfigMapRef configMapRef; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.envfrom.ConfigMapRef getConfigMapRef() { + return configMapRef; + } + + public void setConfigMapRef(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.envfrom.ConfigMapRef configMapRef) { + this.configMapRef = configMapRef; + } + + /** + * An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. + */ + @com.fasterxml.jackson.annotation.JsonProperty("prefix") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String prefix; + + public String getPrefix() { + return prefix; + } + + public void setPrefix(String prefix) { + this.prefix = prefix; + } + + /** + * The Secret to select from + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretRef") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The Secret to select from") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.envfrom.SecretRef secretRef; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.envfrom.SecretRef getSecretRef() { + return secretRef; + } + + public void setSecretRef(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.envfrom.SecretRef secretRef) { + this.secretRef = secretRef; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/Lifecycle.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/Lifecycle.java new file mode 100644 index 0000000..88e953b --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/Lifecycle.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"postStart","preStop"}) +@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 Lifecycle implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + */ + @com.fasterxml.jackson.annotation.JsonProperty("postStart") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.PostStart postStart; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.PostStart getPostStart() { + return postStart; + } + + public void setPostStart(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.PostStart postStart) { + this.postStart = postStart; + } + + /** + * PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + */ + @com.fasterxml.jackson.annotation.JsonProperty("preStop") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.PreStop preStop; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.PreStop getPreStop() { + return preStop; + } + + public void setPreStop(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.PreStop preStop) { + this.preStop = preStop; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/LivenessProbe.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/LivenessProbe.java new file mode 100644 index 0000000..8f57d9b --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/LivenessProbe.java @@ -0,0 +1,169 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"exec","failureThreshold","grpc","httpGet","initialDelaySeconds","periodSeconds","successThreshold","tcpSocket","terminationGracePeriodSeconds","timeoutSeconds"}) +@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 LivenessProbe implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Exec specifies the action to take. + */ + @com.fasterxml.jackson.annotation.JsonProperty("exec") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Exec specifies the action to take.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.livenessprobe.Exec exec; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.livenessprobe.Exec getExec() { + return exec; + } + + public void setExec(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.livenessprobe.Exec exec) { + this.exec = exec; + } + + /** + * Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + */ + @com.fasterxml.jackson.annotation.JsonProperty("failureThreshold") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer failureThreshold; + + public Integer getFailureThreshold() { + return failureThreshold; + } + + public void setFailureThreshold(Integer failureThreshold) { + this.failureThreshold = failureThreshold; + } + + /** + * GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + */ + @com.fasterxml.jackson.annotation.JsonProperty("grpc") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.livenessprobe.Grpc grpc; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.livenessprobe.Grpc getGrpc() { + return grpc; + } + + public void setGrpc(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.livenessprobe.Grpc grpc) { + this.grpc = grpc; + } + + /** + * HTTPGet specifies the http request to perform. + */ + @com.fasterxml.jackson.annotation.JsonProperty("httpGet") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("HTTPGet specifies the http request to perform.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.livenessprobe.HttpGet httpGet; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.livenessprobe.HttpGet getHttpGet() { + return httpGet; + } + + public void setHttpGet(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.livenessprobe.HttpGet httpGet) { + this.httpGet = httpGet; + } + + /** + * Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + */ + @com.fasterxml.jackson.annotation.JsonProperty("initialDelaySeconds") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer initialDelaySeconds; + + public Integer getInitialDelaySeconds() { + return initialDelaySeconds; + } + + public void setInitialDelaySeconds(Integer initialDelaySeconds) { + this.initialDelaySeconds = initialDelaySeconds; + } + + /** + * How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + */ + @com.fasterxml.jackson.annotation.JsonProperty("periodSeconds") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer periodSeconds; + + public Integer getPeriodSeconds() { + return periodSeconds; + } + + public void setPeriodSeconds(Integer periodSeconds) { + this.periodSeconds = periodSeconds; + } + + /** + * Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + */ + @com.fasterxml.jackson.annotation.JsonProperty("successThreshold") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer successThreshold; + + public Integer getSuccessThreshold() { + return successThreshold; + } + + public void setSuccessThreshold(Integer successThreshold) { + this.successThreshold = successThreshold; + } + + /** + * TCPSocket specifies an action involving a TCP port. + */ + @com.fasterxml.jackson.annotation.JsonProperty("tcpSocket") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("TCPSocket specifies an action involving a TCP port.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.livenessprobe.TcpSocket tcpSocket; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.livenessprobe.TcpSocket getTcpSocket() { + return tcpSocket; + } + + public void setTcpSocket(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.livenessprobe.TcpSocket tcpSocket) { + this.tcpSocket = tcpSocket; + } + + /** + * Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + */ + @com.fasterxml.jackson.annotation.JsonProperty("terminationGracePeriodSeconds") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Long terminationGracePeriodSeconds; + + public Long getTerminationGracePeriodSeconds() { + return terminationGracePeriodSeconds; + } + + public void setTerminationGracePeriodSeconds(Long terminationGracePeriodSeconds) { + this.terminationGracePeriodSeconds = terminationGracePeriodSeconds; + } + + /** + * Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeoutSeconds") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer timeoutSeconds; + + public Integer getTimeoutSeconds() { + return timeoutSeconds; + } + + public void setTimeoutSeconds(Integer timeoutSeconds) { + this.timeoutSeconds = timeoutSeconds; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/Ports.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/Ports.java new file mode 100644 index 0000000..a38abcd --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/Ports.java @@ -0,0 +1,90 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"containerPort","hostIP","hostPort","name","protocol"}) +@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 Ports implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536. + */ + @com.fasterxml.jackson.annotation.JsonProperty("containerPort") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer containerPort; + + public Integer getContainerPort() { + return containerPort; + } + + public void setContainerPort(Integer containerPort) { + this.containerPort = containerPort; + } + + /** + * What host IP to bind the external port to. + */ + @com.fasterxml.jackson.annotation.JsonProperty("hostIP") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("What host IP to bind the external port to.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String hostIP; + + public String getHostIP() { + return hostIP; + } + + public void setHostIP(String hostIP) { + this.hostIP = hostIP; + } + + /** + * Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. + */ + @com.fasterxml.jackson.annotation.JsonProperty("hostPort") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer hostPort; + + public Integer getHostPort() { + return hostPort; + } + + public void setHostPort(Integer hostPort) { + this.hostPort = hostPort; + } + + /** + * If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.") + @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; + } + + /** + * Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP". + */ + @com.fasterxml.jackson.annotation.JsonProperty("protocol") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Protocol for port. Must be UDP, TCP, or SCTP. Defaults to \"TCP\".") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String protocol = "TCP"; + + public String getProtocol() { + return protocol; + } + + public void setProtocol(String protocol) { + this.protocol = protocol; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/ReadinessProbe.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/ReadinessProbe.java new file mode 100644 index 0000000..a61f01e --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/ReadinessProbe.java @@ -0,0 +1,169 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"exec","failureThreshold","grpc","httpGet","initialDelaySeconds","periodSeconds","successThreshold","tcpSocket","terminationGracePeriodSeconds","timeoutSeconds"}) +@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 ReadinessProbe implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Exec specifies the action to take. + */ + @com.fasterxml.jackson.annotation.JsonProperty("exec") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Exec specifies the action to take.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.readinessprobe.Exec exec; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.readinessprobe.Exec getExec() { + return exec; + } + + public void setExec(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.readinessprobe.Exec exec) { + this.exec = exec; + } + + /** + * Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + */ + @com.fasterxml.jackson.annotation.JsonProperty("failureThreshold") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer failureThreshold; + + public Integer getFailureThreshold() { + return failureThreshold; + } + + public void setFailureThreshold(Integer failureThreshold) { + this.failureThreshold = failureThreshold; + } + + /** + * GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + */ + @com.fasterxml.jackson.annotation.JsonProperty("grpc") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.readinessprobe.Grpc grpc; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.readinessprobe.Grpc getGrpc() { + return grpc; + } + + public void setGrpc(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.readinessprobe.Grpc grpc) { + this.grpc = grpc; + } + + /** + * HTTPGet specifies the http request to perform. + */ + @com.fasterxml.jackson.annotation.JsonProperty("httpGet") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("HTTPGet specifies the http request to perform.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.readinessprobe.HttpGet httpGet; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.readinessprobe.HttpGet getHttpGet() { + return httpGet; + } + + public void setHttpGet(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.readinessprobe.HttpGet httpGet) { + this.httpGet = httpGet; + } + + /** + * Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + */ + @com.fasterxml.jackson.annotation.JsonProperty("initialDelaySeconds") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer initialDelaySeconds; + + public Integer getInitialDelaySeconds() { + return initialDelaySeconds; + } + + public void setInitialDelaySeconds(Integer initialDelaySeconds) { + this.initialDelaySeconds = initialDelaySeconds; + } + + /** + * How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + */ + @com.fasterxml.jackson.annotation.JsonProperty("periodSeconds") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer periodSeconds; + + public Integer getPeriodSeconds() { + return periodSeconds; + } + + public void setPeriodSeconds(Integer periodSeconds) { + this.periodSeconds = periodSeconds; + } + + /** + * Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + */ + @com.fasterxml.jackson.annotation.JsonProperty("successThreshold") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer successThreshold; + + public Integer getSuccessThreshold() { + return successThreshold; + } + + public void setSuccessThreshold(Integer successThreshold) { + this.successThreshold = successThreshold; + } + + /** + * TCPSocket specifies an action involving a TCP port. + */ + @com.fasterxml.jackson.annotation.JsonProperty("tcpSocket") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("TCPSocket specifies an action involving a TCP port.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.readinessprobe.TcpSocket tcpSocket; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.readinessprobe.TcpSocket getTcpSocket() { + return tcpSocket; + } + + public void setTcpSocket(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.readinessprobe.TcpSocket tcpSocket) { + this.tcpSocket = tcpSocket; + } + + /** + * Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + */ + @com.fasterxml.jackson.annotation.JsonProperty("terminationGracePeriodSeconds") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Long terminationGracePeriodSeconds; + + public Long getTerminationGracePeriodSeconds() { + return terminationGracePeriodSeconds; + } + + public void setTerminationGracePeriodSeconds(Long terminationGracePeriodSeconds) { + this.terminationGracePeriodSeconds = terminationGracePeriodSeconds; + } + + /** + * Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeoutSeconds") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer timeoutSeconds; + + public Integer getTimeoutSeconds() { + return timeoutSeconds; + } + + public void setTimeoutSeconds(Integer timeoutSeconds) { + this.timeoutSeconds = timeoutSeconds; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/Resources.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/Resources.java new file mode 100644 index 0000000..0b3efdb --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/Resources.java @@ -0,0 +1,59 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container; + +@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/ros2workloadspec/containers/container/SecurityContext.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/SecurityContext.java new file mode 100644 index 0000000..1395497 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/SecurityContext.java @@ -0,0 +1,185 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.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.ros2workloadspec.containers.container.securitycontext.Capabilities capabilities; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.securitycontext.Capabilities getCapabilities() { + return capabilities; + } + + public void setCapabilities(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.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.ros2workloadspec.containers.container.securitycontext.SeLinuxOptions seLinuxOptions; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.securitycontext.SeLinuxOptions getSeLinuxOptions() { + return seLinuxOptions; + } + + public void setSeLinuxOptions(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.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.ros2workloadspec.containers.container.securitycontext.SeccompProfile seccompProfile; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.securitycontext.SeccompProfile getSeccompProfile() { + return seccompProfile; + } + + public void setSeccompProfile(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.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.ros2workloadspec.containers.container.securitycontext.WindowsOptions windowsOptions; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.securitycontext.WindowsOptions getWindowsOptions() { + return windowsOptions; + } + + public void setWindowsOptions(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.securitycontext.WindowsOptions windowsOptions) { + this.windowsOptions = windowsOptions; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/StartupProbe.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/StartupProbe.java new file mode 100644 index 0000000..94bbdba --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/StartupProbe.java @@ -0,0 +1,169 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"exec","failureThreshold","grpc","httpGet","initialDelaySeconds","periodSeconds","successThreshold","tcpSocket","terminationGracePeriodSeconds","timeoutSeconds"}) +@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 StartupProbe implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Exec specifies the action to take. + */ + @com.fasterxml.jackson.annotation.JsonProperty("exec") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Exec specifies the action to take.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.startupprobe.Exec exec; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.startupprobe.Exec getExec() { + return exec; + } + + public void setExec(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.startupprobe.Exec exec) { + this.exec = exec; + } + + /** + * Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + */ + @com.fasterxml.jackson.annotation.JsonProperty("failureThreshold") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer failureThreshold; + + public Integer getFailureThreshold() { + return failureThreshold; + } + + public void setFailureThreshold(Integer failureThreshold) { + this.failureThreshold = failureThreshold; + } + + /** + * GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + */ + @com.fasterxml.jackson.annotation.JsonProperty("grpc") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.startupprobe.Grpc grpc; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.startupprobe.Grpc getGrpc() { + return grpc; + } + + public void setGrpc(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.startupprobe.Grpc grpc) { + this.grpc = grpc; + } + + /** + * HTTPGet specifies the http request to perform. + */ + @com.fasterxml.jackson.annotation.JsonProperty("httpGet") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("HTTPGet specifies the http request to perform.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.startupprobe.HttpGet httpGet; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.startupprobe.HttpGet getHttpGet() { + return httpGet; + } + + public void setHttpGet(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.startupprobe.HttpGet httpGet) { + this.httpGet = httpGet; + } + + /** + * Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + */ + @com.fasterxml.jackson.annotation.JsonProperty("initialDelaySeconds") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer initialDelaySeconds; + + public Integer getInitialDelaySeconds() { + return initialDelaySeconds; + } + + public void setInitialDelaySeconds(Integer initialDelaySeconds) { + this.initialDelaySeconds = initialDelaySeconds; + } + + /** + * How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + */ + @com.fasterxml.jackson.annotation.JsonProperty("periodSeconds") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer periodSeconds; + + public Integer getPeriodSeconds() { + return periodSeconds; + } + + public void setPeriodSeconds(Integer periodSeconds) { + this.periodSeconds = periodSeconds; + } + + /** + * Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + */ + @com.fasterxml.jackson.annotation.JsonProperty("successThreshold") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer successThreshold; + + public Integer getSuccessThreshold() { + return successThreshold; + } + + public void setSuccessThreshold(Integer successThreshold) { + this.successThreshold = successThreshold; + } + + /** + * TCPSocket specifies an action involving a TCP port. + */ + @com.fasterxml.jackson.annotation.JsonProperty("tcpSocket") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("TCPSocket specifies an action involving a TCP port.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.startupprobe.TcpSocket tcpSocket; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.startupprobe.TcpSocket getTcpSocket() { + return tcpSocket; + } + + public void setTcpSocket(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.startupprobe.TcpSocket tcpSocket) { + this.tcpSocket = tcpSocket; + } + + /** + * Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + */ + @com.fasterxml.jackson.annotation.JsonProperty("terminationGracePeriodSeconds") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Long terminationGracePeriodSeconds; + + public Long getTerminationGracePeriodSeconds() { + return terminationGracePeriodSeconds; + } + + public void setTerminationGracePeriodSeconds(Long terminationGracePeriodSeconds) { + this.terminationGracePeriodSeconds = terminationGracePeriodSeconds; + } + + /** + * Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeoutSeconds") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer timeoutSeconds; + + public Integer getTimeoutSeconds() { + return timeoutSeconds; + } + + public void setTimeoutSeconds(Integer timeoutSeconds) { + this.timeoutSeconds = timeoutSeconds; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/VolumeDevices.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/VolumeDevices.java new file mode 100644 index 0000000..544b706 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/VolumeDevices.java @@ -0,0 +1,43 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"devicePath","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 VolumeDevices implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * devicePath is the path inside of the container that the device will be mapped to. + */ + @com.fasterxml.jackson.annotation.JsonProperty("devicePath") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("devicePath is the path inside of the container that the device will be mapped to.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String devicePath; + + public String getDevicePath() { + return devicePath; + } + + public void setDevicePath(String devicePath) { + this.devicePath = devicePath; + } + + /** + * name must match the name of a persistentVolumeClaim in the pod + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("name must match the name of a persistentVolumeClaim in the pod") + @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/ros2workloadspec/containers/container/VolumeMounts.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/VolumeMounts.java new file mode 100644 index 0000000..48825eb --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/VolumeMounts.java @@ -0,0 +1,107 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.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/ros2workloadspec/containers/container/env/ValueFrom.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/env/ValueFrom.java new file mode 100644 index 0000000..4f07786 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/env/ValueFrom.java @@ -0,0 +1,73 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.env; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"configMapKeyRef","fieldRef","resourceFieldRef","secretKeyRef"}) +@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 ValueFrom implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Selects a key of a ConfigMap. + */ + @com.fasterxml.jackson.annotation.JsonProperty("configMapKeyRef") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Selects a key of a ConfigMap.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.env.valuefrom.ConfigMapKeyRef configMapKeyRef; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.env.valuefrom.ConfigMapKeyRef getConfigMapKeyRef() { + return configMapKeyRef; + } + + public void setConfigMapKeyRef(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.env.valuefrom.ConfigMapKeyRef configMapKeyRef) { + this.configMapKeyRef = configMapKeyRef; + } + + /** + * Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + */ + @com.fasterxml.jackson.annotation.JsonProperty("fieldRef") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.env.valuefrom.FieldRef fieldRef; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.env.valuefrom.FieldRef getFieldRef() { + return fieldRef; + } + + public void setFieldRef(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.env.valuefrom.FieldRef fieldRef) { + this.fieldRef = fieldRef; + } + + /** + * Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) 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, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.env.valuefrom.ResourceFieldRef resourceFieldRef; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.env.valuefrom.ResourceFieldRef getResourceFieldRef() { + return resourceFieldRef; + } + + public void setResourceFieldRef(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.env.valuefrom.ResourceFieldRef resourceFieldRef) { + this.resourceFieldRef = resourceFieldRef; + } + + /** + * Selects a key of a secret in the pod's namespace + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretKeyRef") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Selects a key of a secret in the pod's namespace") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.env.valuefrom.SecretKeyRef secretKeyRef; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.env.valuefrom.SecretKeyRef getSecretKeyRef() { + return secretKeyRef; + } + + public void setSecretKeyRef(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.env.valuefrom.SecretKeyRef secretKeyRef) { + this.secretKeyRef = secretKeyRef; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/env/valuefrom/ConfigMapKeyRef.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/env/valuefrom/ConfigMapKeyRef.java new file mode 100644 index 0000000..22f34d4 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/env/valuefrom/ConfigMapKeyRef.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.env.valuefrom; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"key","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 ConfigMapKeyRef implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * The key to select. + */ + @com.fasterxml.jackson.annotation.JsonProperty("key") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The key to select.") + @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; + } + + /** + * 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; + } + + /** + * Specify whether the ConfigMap or its key must be defined + */ + @com.fasterxml.jackson.annotation.JsonProperty("optional") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Specify whether the ConfigMap 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/ros2workloadspec/containers/container/env/valuefrom/FieldRef.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/env/valuefrom/FieldRef.java new file mode 100644 index 0000000..20b8790 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/env/valuefrom/FieldRef.java @@ -0,0 +1,42 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.env.valuefrom; + +@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/ros2workloadspec/containers/container/env/valuefrom/ResourceFieldRef.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/env/valuefrom/ResourceFieldRef.java new file mode 100644 index 0000000..2f90d6f --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/env/valuefrom/ResourceFieldRef.java @@ -0,0 +1,59 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.env.valuefrom; + +@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/ros2workloadspec/containers/container/env/valuefrom/SecretKeyRef.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/env/valuefrom/SecretKeyRef.java new file mode 100644 index 0000000..1eaa526 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/env/valuefrom/SecretKeyRef.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.env.valuefrom; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"key","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 SecretKeyRef implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * The key of the secret to select from. Must be a valid secret key. + */ + @com.fasterxml.jackson.annotation.JsonProperty("key") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The key of the secret to select from. Must be a valid secret key.") + @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; + } + + /** + * 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; + } + + /** + * Specify whether the Secret or its key must be defined + */ + @com.fasterxml.jackson.annotation.JsonProperty("optional") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("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/ros2workloadspec/containers/container/envfrom/ConfigMapRef.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/envfrom/ConfigMapRef.java new file mode 100644 index 0000000..26cd9b5 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/envfrom/ConfigMapRef.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.envfrom; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"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 ConfigMapRef 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; + } + + /** + * Specify whether the ConfigMap must be defined + */ + @com.fasterxml.jackson.annotation.JsonProperty("optional") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Specify whether the ConfigMap 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/ros2workloadspec/containers/container/envfrom/SecretRef.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/envfrom/SecretRef.java new file mode 100644 index 0000000..b1a9ae8 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/envfrom/SecretRef.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.envfrom; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"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 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; + } + + /** + * Specify whether the Secret must be defined + */ + @com.fasterxml.jackson.annotation.JsonProperty("optional") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Specify whether the Secret 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/ros2workloadspec/containers/container/lifecycle/PostStart.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/PostStart.java new file mode 100644 index 0000000..2f8082f --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/PostStart.java @@ -0,0 +1,57 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"exec","httpGet","tcpSocket"}) +@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 PostStart implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Exec specifies the action to take. + */ + @com.fasterxml.jackson.annotation.JsonProperty("exec") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Exec specifies the action to take.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.poststart.Exec exec; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.poststart.Exec getExec() { + return exec; + } + + public void setExec(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.poststart.Exec exec) { + this.exec = exec; + } + + /** + * HTTPGet specifies the http request to perform. + */ + @com.fasterxml.jackson.annotation.JsonProperty("httpGet") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("HTTPGet specifies the http request to perform.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.poststart.HttpGet httpGet; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.poststart.HttpGet getHttpGet() { + return httpGet; + } + + public void setHttpGet(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.poststart.HttpGet httpGet) { + this.httpGet = httpGet; + } + + /** + * Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + */ + @com.fasterxml.jackson.annotation.JsonProperty("tcpSocket") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.poststart.TcpSocket tcpSocket; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.poststart.TcpSocket getTcpSocket() { + return tcpSocket; + } + + public void setTcpSocket(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.poststart.TcpSocket tcpSocket) { + this.tcpSocket = tcpSocket; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/PreStop.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/PreStop.java new file mode 100644 index 0000000..c20313a --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/PreStop.java @@ -0,0 +1,57 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"exec","httpGet","tcpSocket"}) +@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 PreStop implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Exec specifies the action to take. + */ + @com.fasterxml.jackson.annotation.JsonProperty("exec") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Exec specifies the action to take.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.prestop.Exec exec; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.prestop.Exec getExec() { + return exec; + } + + public void setExec(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.prestop.Exec exec) { + this.exec = exec; + } + + /** + * HTTPGet specifies the http request to perform. + */ + @com.fasterxml.jackson.annotation.JsonProperty("httpGet") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("HTTPGet specifies the http request to perform.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.prestop.HttpGet httpGet; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.prestop.HttpGet getHttpGet() { + return httpGet; + } + + public void setHttpGet(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.prestop.HttpGet httpGet) { + this.httpGet = httpGet; + } + + /** + * Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + */ + @com.fasterxml.jackson.annotation.JsonProperty("tcpSocket") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.prestop.TcpSocket tcpSocket; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.prestop.TcpSocket getTcpSocket() { + return tcpSocket; + } + + public void setTcpSocket(io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.prestop.TcpSocket tcpSocket) { + this.tcpSocket = tcpSocket; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/poststart/Exec.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/poststart/Exec.java new file mode 100644 index 0000000..2ee6cce --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/poststart/Exec.java @@ -0,0 +1,25 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.poststart; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"command"}) +@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 Exec implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + */ + @com.fasterxml.jackson.annotation.JsonProperty("command") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List command; + + public java.util.List getCommand() { + return command; + } + + public void setCommand(java.util.List command) { + this.command = command; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/poststart/HttpGet.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/poststart/HttpGet.java new file mode 100644 index 0000000..c491b56 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/poststart/HttpGet.java @@ -0,0 +1,90 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.poststart; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"host","httpHeaders","path","port","scheme"}) +@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 HttpGet implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + */ + @com.fasterxml.jackson.annotation.JsonProperty("host") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String host; + + public String getHost() { + return host; + } + + public void setHost(String host) { + this.host = host; + } + + /** + * Custom headers to set in the request. HTTP allows repeated headers. + */ + @com.fasterxml.jackson.annotation.JsonProperty("httpHeaders") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Custom headers to set in the request. HTTP allows repeated headers.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List httpHeaders; + + public java.util.List getHttpHeaders() { + return httpHeaders; + } + + public void setHttpHeaders(java.util.List httpHeaders) { + this.httpHeaders = httpHeaders; + } + + /** + * Path to access on the HTTP server. + */ + @com.fasterxml.jackson.annotation.JsonProperty("path") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Path to access on the HTTP server.") + @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; + } + + /** + * Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + */ + @com.fasterxml.jackson.annotation.JsonProperty("port") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.fabric8.kubernetes.api.model.IntOrString port; + + public io.fabric8.kubernetes.api.model.IntOrString getPort() { + return port; + } + + public void setPort(io.fabric8.kubernetes.api.model.IntOrString port) { + this.port = port; + } + + /** + * Scheme to use for connecting to the host. Defaults to HTTP. + */ + @com.fasterxml.jackson.annotation.JsonProperty("scheme") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Scheme to use for connecting to the host. Defaults to HTTP.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String scheme; + + public String getScheme() { + return scheme; + } + + public void setScheme(String scheme) { + this.scheme = scheme; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/poststart/TcpSocket.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/poststart/TcpSocket.java new file mode 100644 index 0000000..f998c42 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/poststart/TcpSocket.java @@ -0,0 +1,42 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.poststart; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"host","port"}) +@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 TcpSocket implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Optional: Host name to connect to, defaults to the pod IP. + */ + @com.fasterxml.jackson.annotation.JsonProperty("host") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Optional: Host name to connect to, defaults to the pod IP.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String host; + + public String getHost() { + return host; + } + + public void setHost(String host) { + this.host = host; + } + + /** + * Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + */ + @com.fasterxml.jackson.annotation.JsonProperty("port") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.fabric8.kubernetes.api.model.IntOrString port; + + public io.fabric8.kubernetes.api.model.IntOrString getPort() { + return port; + } + + public void setPort(io.fabric8.kubernetes.api.model.IntOrString port) { + this.port = port; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/poststart/httpget/HttpHeaders.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/poststart/httpget/HttpHeaders.java new file mode 100644 index 0000000..1ebc5dc --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/poststart/httpget/HttpHeaders.java @@ -0,0 +1,43 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.poststart.httpget; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"name","value"}) +@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 HttpHeaders implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * The header field name + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The header field name") + @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; + } + + /** + * The header field value + */ + @com.fasterxml.jackson.annotation.JsonProperty("value") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The header field value") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String value; + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/prestop/Exec.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/prestop/Exec.java new file mode 100644 index 0000000..b7deff9 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/prestop/Exec.java @@ -0,0 +1,25 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.prestop; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"command"}) +@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 Exec implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + */ + @com.fasterxml.jackson.annotation.JsonProperty("command") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List command; + + public java.util.List getCommand() { + return command; + } + + public void setCommand(java.util.List command) { + this.command = command; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/prestop/HttpGet.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/prestop/HttpGet.java new file mode 100644 index 0000000..aea72ad --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/prestop/HttpGet.java @@ -0,0 +1,90 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.prestop; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"host","httpHeaders","path","port","scheme"}) +@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 HttpGet implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + */ + @com.fasterxml.jackson.annotation.JsonProperty("host") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String host; + + public String getHost() { + return host; + } + + public void setHost(String host) { + this.host = host; + } + + /** + * Custom headers to set in the request. HTTP allows repeated headers. + */ + @com.fasterxml.jackson.annotation.JsonProperty("httpHeaders") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Custom headers to set in the request. HTTP allows repeated headers.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List httpHeaders; + + public java.util.List getHttpHeaders() { + return httpHeaders; + } + + public void setHttpHeaders(java.util.List httpHeaders) { + this.httpHeaders = httpHeaders; + } + + /** + * Path to access on the HTTP server. + */ + @com.fasterxml.jackson.annotation.JsonProperty("path") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Path to access on the HTTP server.") + @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; + } + + /** + * Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + */ + @com.fasterxml.jackson.annotation.JsonProperty("port") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.fabric8.kubernetes.api.model.IntOrString port; + + public io.fabric8.kubernetes.api.model.IntOrString getPort() { + return port; + } + + public void setPort(io.fabric8.kubernetes.api.model.IntOrString port) { + this.port = port; + } + + /** + * Scheme to use for connecting to the host. Defaults to HTTP. + */ + @com.fasterxml.jackson.annotation.JsonProperty("scheme") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Scheme to use for connecting to the host. Defaults to HTTP.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String scheme; + + public String getScheme() { + return scheme; + } + + public void setScheme(String scheme) { + this.scheme = scheme; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/prestop/TcpSocket.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/prestop/TcpSocket.java new file mode 100644 index 0000000..14a91ab --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/prestop/TcpSocket.java @@ -0,0 +1,42 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.prestop; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"host","port"}) +@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 TcpSocket implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Optional: Host name to connect to, defaults to the pod IP. + */ + @com.fasterxml.jackson.annotation.JsonProperty("host") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Optional: Host name to connect to, defaults to the pod IP.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String host; + + public String getHost() { + return host; + } + + public void setHost(String host) { + this.host = host; + } + + /** + * Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + */ + @com.fasterxml.jackson.annotation.JsonProperty("port") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.fabric8.kubernetes.api.model.IntOrString port; + + public io.fabric8.kubernetes.api.model.IntOrString getPort() { + return port; + } + + public void setPort(io.fabric8.kubernetes.api.model.IntOrString port) { + this.port = port; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/prestop/httpget/HttpHeaders.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/prestop/httpget/HttpHeaders.java new file mode 100644 index 0000000..73bc0f3 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/lifecycle/prestop/httpget/HttpHeaders.java @@ -0,0 +1,43 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.lifecycle.prestop.httpget; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"name","value"}) +@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 HttpHeaders implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * The header field name + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The header field name") + @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; + } + + /** + * The header field value + */ + @com.fasterxml.jackson.annotation.JsonProperty("value") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The header field value") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String value; + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/livenessprobe/Exec.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/livenessprobe/Exec.java new file mode 100644 index 0000000..e76413c --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/livenessprobe/Exec.java @@ -0,0 +1,25 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.livenessprobe; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"command"}) +@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 Exec implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + */ + @com.fasterxml.jackson.annotation.JsonProperty("command") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List command; + + public java.util.List getCommand() { + return command; + } + + public void setCommand(java.util.List command) { + this.command = command; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/livenessprobe/Grpc.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/livenessprobe/Grpc.java new file mode 100644 index 0000000..994e577 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/livenessprobe/Grpc.java @@ -0,0 +1,43 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.livenessprobe; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"port","service"}) +@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 Grpc implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Port number of the gRPC service. Number must be in the range 1 to 65535. + */ + @com.fasterxml.jackson.annotation.JsonProperty("port") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Port number of the gRPC service. Number must be in the range 1 to 65535.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer port; + + public Integer getPort() { + return port; + } + + public void setPort(Integer port) { + this.port = port; + } + + /** + * Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + * If this is not specified, the default behavior is defined by gRPC. + */ + @com.fasterxml.jackson.annotation.JsonProperty("service") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). \n If this is not specified, the default behavior is defined by gRPC.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String service; + + public String getService() { + return service; + } + + public void setService(String service) { + this.service = service; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/livenessprobe/HttpGet.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/livenessprobe/HttpGet.java new file mode 100644 index 0000000..2806c51 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/livenessprobe/HttpGet.java @@ -0,0 +1,90 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.livenessprobe; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"host","httpHeaders","path","port","scheme"}) +@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 HttpGet implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + */ + @com.fasterxml.jackson.annotation.JsonProperty("host") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String host; + + public String getHost() { + return host; + } + + public void setHost(String host) { + this.host = host; + } + + /** + * Custom headers to set in the request. HTTP allows repeated headers. + */ + @com.fasterxml.jackson.annotation.JsonProperty("httpHeaders") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Custom headers to set in the request. HTTP allows repeated headers.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List httpHeaders; + + public java.util.List getHttpHeaders() { + return httpHeaders; + } + + public void setHttpHeaders(java.util.List httpHeaders) { + this.httpHeaders = httpHeaders; + } + + /** + * Path to access on the HTTP server. + */ + @com.fasterxml.jackson.annotation.JsonProperty("path") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Path to access on the HTTP server.") + @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; + } + + /** + * Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + */ + @com.fasterxml.jackson.annotation.JsonProperty("port") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.fabric8.kubernetes.api.model.IntOrString port; + + public io.fabric8.kubernetes.api.model.IntOrString getPort() { + return port; + } + + public void setPort(io.fabric8.kubernetes.api.model.IntOrString port) { + this.port = port; + } + + /** + * Scheme to use for connecting to the host. Defaults to HTTP. + */ + @com.fasterxml.jackson.annotation.JsonProperty("scheme") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Scheme to use for connecting to the host. Defaults to HTTP.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String scheme; + + public String getScheme() { + return scheme; + } + + public void setScheme(String scheme) { + this.scheme = scheme; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/livenessprobe/TcpSocket.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/livenessprobe/TcpSocket.java new file mode 100644 index 0000000..ca383cc --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/livenessprobe/TcpSocket.java @@ -0,0 +1,42 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.livenessprobe; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"host","port"}) +@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 TcpSocket implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Optional: Host name to connect to, defaults to the pod IP. + */ + @com.fasterxml.jackson.annotation.JsonProperty("host") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Optional: Host name to connect to, defaults to the pod IP.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String host; + + public String getHost() { + return host; + } + + public void setHost(String host) { + this.host = host; + } + + /** + * Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + */ + @com.fasterxml.jackson.annotation.JsonProperty("port") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.fabric8.kubernetes.api.model.IntOrString port; + + public io.fabric8.kubernetes.api.model.IntOrString getPort() { + return port; + } + + public void setPort(io.fabric8.kubernetes.api.model.IntOrString port) { + this.port = port; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/livenessprobe/httpget/HttpHeaders.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/livenessprobe/httpget/HttpHeaders.java new file mode 100644 index 0000000..d4e65f2 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/livenessprobe/httpget/HttpHeaders.java @@ -0,0 +1,43 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.livenessprobe.httpget; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"name","value"}) +@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 HttpHeaders implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * The header field name + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The header field name") + @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; + } + + /** + * The header field value + */ + @com.fasterxml.jackson.annotation.JsonProperty("value") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The header field value") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String value; + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/readinessprobe/Exec.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/readinessprobe/Exec.java new file mode 100644 index 0000000..7583033 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/readinessprobe/Exec.java @@ -0,0 +1,25 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.readinessprobe; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"command"}) +@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 Exec implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + */ + @com.fasterxml.jackson.annotation.JsonProperty("command") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List command; + + public java.util.List getCommand() { + return command; + } + + public void setCommand(java.util.List command) { + this.command = command; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/readinessprobe/Grpc.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/readinessprobe/Grpc.java new file mode 100644 index 0000000..d4d579b --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/readinessprobe/Grpc.java @@ -0,0 +1,43 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.readinessprobe; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"port","service"}) +@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 Grpc implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Port number of the gRPC service. Number must be in the range 1 to 65535. + */ + @com.fasterxml.jackson.annotation.JsonProperty("port") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Port number of the gRPC service. Number must be in the range 1 to 65535.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer port; + + public Integer getPort() { + return port; + } + + public void setPort(Integer port) { + this.port = port; + } + + /** + * Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + * If this is not specified, the default behavior is defined by gRPC. + */ + @com.fasterxml.jackson.annotation.JsonProperty("service") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). \n If this is not specified, the default behavior is defined by gRPC.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String service; + + public String getService() { + return service; + } + + public void setService(String service) { + this.service = service; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/readinessprobe/HttpGet.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/readinessprobe/HttpGet.java new file mode 100644 index 0000000..c6b756e --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/readinessprobe/HttpGet.java @@ -0,0 +1,90 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.readinessprobe; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"host","httpHeaders","path","port","scheme"}) +@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 HttpGet implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + */ + @com.fasterxml.jackson.annotation.JsonProperty("host") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String host; + + public String getHost() { + return host; + } + + public void setHost(String host) { + this.host = host; + } + + /** + * Custom headers to set in the request. HTTP allows repeated headers. + */ + @com.fasterxml.jackson.annotation.JsonProperty("httpHeaders") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Custom headers to set in the request. HTTP allows repeated headers.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List httpHeaders; + + public java.util.List getHttpHeaders() { + return httpHeaders; + } + + public void setHttpHeaders(java.util.List httpHeaders) { + this.httpHeaders = httpHeaders; + } + + /** + * Path to access on the HTTP server. + */ + @com.fasterxml.jackson.annotation.JsonProperty("path") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Path to access on the HTTP server.") + @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; + } + + /** + * Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + */ + @com.fasterxml.jackson.annotation.JsonProperty("port") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.fabric8.kubernetes.api.model.IntOrString port; + + public io.fabric8.kubernetes.api.model.IntOrString getPort() { + return port; + } + + public void setPort(io.fabric8.kubernetes.api.model.IntOrString port) { + this.port = port; + } + + /** + * Scheme to use for connecting to the host. Defaults to HTTP. + */ + @com.fasterxml.jackson.annotation.JsonProperty("scheme") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Scheme to use for connecting to the host. Defaults to HTTP.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String scheme; + + public String getScheme() { + return scheme; + } + + public void setScheme(String scheme) { + this.scheme = scheme; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/readinessprobe/TcpSocket.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/readinessprobe/TcpSocket.java new file mode 100644 index 0000000..d9154a3 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/readinessprobe/TcpSocket.java @@ -0,0 +1,42 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.readinessprobe; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"host","port"}) +@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 TcpSocket implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Optional: Host name to connect to, defaults to the pod IP. + */ + @com.fasterxml.jackson.annotation.JsonProperty("host") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Optional: Host name to connect to, defaults to the pod IP.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String host; + + public String getHost() { + return host; + } + + public void setHost(String host) { + this.host = host; + } + + /** + * Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + */ + @com.fasterxml.jackson.annotation.JsonProperty("port") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.fabric8.kubernetes.api.model.IntOrString port; + + public io.fabric8.kubernetes.api.model.IntOrString getPort() { + return port; + } + + public void setPort(io.fabric8.kubernetes.api.model.IntOrString port) { + this.port = port; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/readinessprobe/httpget/HttpHeaders.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/readinessprobe/httpget/HttpHeaders.java new file mode 100644 index 0000000..f06fa95 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/readinessprobe/httpget/HttpHeaders.java @@ -0,0 +1,43 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.readinessprobe.httpget; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"name","value"}) +@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 HttpHeaders implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * The header field name + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The header field name") + @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; + } + + /** + * The header field value + */ + @com.fasterxml.jackson.annotation.JsonProperty("value") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The header field value") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String value; + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/resources/Claims.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/resources/Claims.java new file mode 100644 index 0000000..9b42be4 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/resources/Claims.java @@ -0,0 +1,26 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.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/ros2workloadspec/containers/container/securitycontext/Capabilities.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/securitycontext/Capabilities.java new file mode 100644 index 0000000..2474786 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/securitycontext/Capabilities.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.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/ros2workloadspec/containers/container/securitycontext/SeLinuxOptions.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/securitycontext/SeLinuxOptions.java new file mode 100644 index 0000000..fe480c9 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/securitycontext/SeLinuxOptions.java @@ -0,0 +1,73 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.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/ros2workloadspec/containers/container/securitycontext/SeccompProfile.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/securitycontext/SeccompProfile.java new file mode 100644 index 0000000..2fd30ca --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/securitycontext/SeccompProfile.java @@ -0,0 +1,43 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.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/ros2workloadspec/containers/container/securitycontext/WindowsOptions.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/securitycontext/WindowsOptions.java new file mode 100644 index 0000000..b0fb3f4 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/securitycontext/WindowsOptions.java @@ -0,0 +1,73 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.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/ros2workloadspec/containers/container/startupprobe/Exec.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/startupprobe/Exec.java new file mode 100644 index 0000000..c5dbad7 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/startupprobe/Exec.java @@ -0,0 +1,25 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.startupprobe; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"command"}) +@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 Exec implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + */ + @com.fasterxml.jackson.annotation.JsonProperty("command") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List command; + + public java.util.List getCommand() { + return command; + } + + public void setCommand(java.util.List command) { + this.command = command; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/startupprobe/Grpc.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/startupprobe/Grpc.java new file mode 100644 index 0000000..138db7c --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/startupprobe/Grpc.java @@ -0,0 +1,43 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.startupprobe; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"port","service"}) +@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 Grpc implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Port number of the gRPC service. Number must be in the range 1 to 65535. + */ + @com.fasterxml.jackson.annotation.JsonProperty("port") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Port number of the gRPC service. Number must be in the range 1 to 65535.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer port; + + public Integer getPort() { + return port; + } + + public void setPort(Integer port) { + this.port = port; + } + + /** + * Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + * If this is not specified, the default behavior is defined by gRPC. + */ + @com.fasterxml.jackson.annotation.JsonProperty("service") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). \n If this is not specified, the default behavior is defined by gRPC.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String service; + + public String getService() { + return service; + } + + public void setService(String service) { + this.service = service; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/startupprobe/HttpGet.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/startupprobe/HttpGet.java new file mode 100644 index 0000000..0ae2682 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/startupprobe/HttpGet.java @@ -0,0 +1,90 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.startupprobe; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"host","httpHeaders","path","port","scheme"}) +@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 HttpGet implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + */ + @com.fasterxml.jackson.annotation.JsonProperty("host") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String host; + + public String getHost() { + return host; + } + + public void setHost(String host) { + this.host = host; + } + + /** + * Custom headers to set in the request. HTTP allows repeated headers. + */ + @com.fasterxml.jackson.annotation.JsonProperty("httpHeaders") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Custom headers to set in the request. HTTP allows repeated headers.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private java.util.List httpHeaders; + + public java.util.List getHttpHeaders() { + return httpHeaders; + } + + public void setHttpHeaders(java.util.List httpHeaders) { + this.httpHeaders = httpHeaders; + } + + /** + * Path to access on the HTTP server. + */ + @com.fasterxml.jackson.annotation.JsonProperty("path") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Path to access on the HTTP server.") + @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; + } + + /** + * Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + */ + @com.fasterxml.jackson.annotation.JsonProperty("port") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.fabric8.kubernetes.api.model.IntOrString port; + + public io.fabric8.kubernetes.api.model.IntOrString getPort() { + return port; + } + + public void setPort(io.fabric8.kubernetes.api.model.IntOrString port) { + this.port = port; + } + + /** + * Scheme to use for connecting to the host. Defaults to HTTP. + */ + @com.fasterxml.jackson.annotation.JsonProperty("scheme") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Scheme to use for connecting to the host. Defaults to HTTP.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String scheme; + + public String getScheme() { + return scheme; + } + + public void setScheme(String scheme) { + this.scheme = scheme; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/startupprobe/TcpSocket.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/startupprobe/TcpSocket.java new file mode 100644 index 0000000..40740a7 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/startupprobe/TcpSocket.java @@ -0,0 +1,42 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.startupprobe; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"host","port"}) +@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 TcpSocket implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Optional: Host name to connect to, defaults to the pod IP. + */ + @com.fasterxml.jackson.annotation.JsonProperty("host") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Optional: Host name to connect to, defaults to the pod IP.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String host; + + public String getHost() { + return host; + } + + public void setHost(String host) { + this.host = host; + } + + /** + * Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + */ + @com.fasterxml.jackson.annotation.JsonProperty("port") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.fabric8.kubernetes.api.model.IntOrString port; + + public io.fabric8.kubernetes.api.model.IntOrString getPort() { + return port; + } + + public void setPort(io.fabric8.kubernetes.api.model.IntOrString port) { + this.port = port; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/startupprobe/httpget/HttpHeaders.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/startupprobe/httpget/HttpHeaders.java new file mode 100644 index 0000000..8f5f088 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/containers/container/startupprobe/httpget/HttpHeaders.java @@ -0,0 +1,43 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.containers.container.startupprobe.httpget; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"name","value"}) +@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 HttpHeaders implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * The header field name + */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The header field name") + @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; + } + + /** + * The header field value + */ + @com.fasterxml.jackson.annotation.JsonProperty("value") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("The header field value") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String value; + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/discoveryservertemplate/Reference.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/discoveryservertemplate/Reference.java new file mode 100644 index 0000000..01d33ab --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/discoveryservertemplate/Reference.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.discoveryservertemplate; + +@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/ros2workloadspec/ros2bridgetemplate/DiscoveryServerRef.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/ros2bridgetemplate/DiscoveryServerRef.java new file mode 100644 index 0000000..164b7a6 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/ros2bridgetemplate/DiscoveryServerRef.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.ros2bridgetemplate; + +@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 DiscoveryServerRef 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/ros2workloadspec/volumeclaimtemplates/Metadata.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/volumeclaimtemplates/Metadata.java new file mode 100644 index 0000000..35749d7 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/volumeclaimtemplates/Metadata.java @@ -0,0 +1,9 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.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/ros2workloadspec/volumeclaimtemplates/Spec.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/volumeclaimtemplates/Spec.java new file mode 100644 index 0000000..120b04e --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/volumeclaimtemplates/Spec.java @@ -0,0 +1,137 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.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.ros2workloadspec.volumeclaimtemplates.spec.DataSource dataSource; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.volumeclaimtemplates.spec.DataSource getDataSource() { + return dataSource; + } + + public void setDataSource(io.roboscale.robot.v1alpha2.ros2workloadspec.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.ros2workloadspec.volumeclaimtemplates.spec.DataSourceRef dataSourceRef; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.volumeclaimtemplates.spec.DataSourceRef getDataSourceRef() { + return dataSourceRef; + } + + public void setDataSourceRef(io.roboscale.robot.v1alpha2.ros2workloadspec.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.ros2workloadspec.volumeclaimtemplates.spec.Resources resources; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.volumeclaimtemplates.spec.Resources getResources() { + return resources; + } + + public void setResources(io.roboscale.robot.v1alpha2.ros2workloadspec.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.ros2workloadspec.volumeclaimtemplates.spec.Selector selector; + + public io.roboscale.robot.v1alpha2.ros2workloadspec.volumeclaimtemplates.spec.Selector getSelector() { + return selector; + } + + public void setSelector(io.roboscale.robot.v1alpha2.ros2workloadspec.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/ros2workloadspec/volumeclaimtemplates/spec/DataSource.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/volumeclaimtemplates/spec/DataSource.java new file mode 100644 index 0000000..ddf2814 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/volumeclaimtemplates/spec/DataSource.java @@ -0,0 +1,59 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.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/ros2workloadspec/volumeclaimtemplates/spec/DataSourceRef.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/volumeclaimtemplates/spec/DataSourceRef.java new file mode 100644 index 0000000..f4907c0 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/volumeclaimtemplates/spec/DataSourceRef.java @@ -0,0 +1,75 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.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/ros2workloadspec/volumeclaimtemplates/spec/Resources.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/volumeclaimtemplates/spec/Resources.java new file mode 100644 index 0000000..b0701d8 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/volumeclaimtemplates/spec/Resources.java @@ -0,0 +1,59 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.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/ros2workloadspec/volumeclaimtemplates/spec/Selector.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/volumeclaimtemplates/spec/Selector.java new file mode 100644 index 0000000..1143489 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/volumeclaimtemplates/spec/Selector.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.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/ros2workloadspec/volumeclaimtemplates/spec/resources/Claims.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/volumeclaimtemplates/spec/resources/Claims.java new file mode 100644 index 0000000..9887147 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/volumeclaimtemplates/spec/resources/Claims.java @@ -0,0 +1,26 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.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/ros2workloadspec/volumeclaimtemplates/spec/selector/MatchExpressions.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/volumeclaimtemplates/spec/selector/MatchExpressions.java new file mode 100644 index 0000000..79e5d1e --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadspec/volumeclaimtemplates/spec/selector/MatchExpressions.java @@ -0,0 +1,59 @@ +package io.roboscale.robot.v1alpha2.ros2workloadspec.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/ros2workloadstatus/DiscoveryServerStatus.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/DiscoveryServerStatus.java new file mode 100644 index 0000000..5251593 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/DiscoveryServerStatus.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus; + +@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 DiscoveryServerStatus 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.ros2workloadstatus.discoveryserverstatus.Resource resource; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.Resource getResource() { + return resource; + } + + public void setResource(io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.Resource resource) { + this.resource = resource; + } + + /** + * Status of the DiscoveryServer instance. + */ + @com.fasterxml.jackson.annotation.JsonProperty("status") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Status of the DiscoveryServer instance.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.Status status; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.Status getStatus() { + return status; + } + + public void setStatus(io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.Status status) { + this.status = status; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/PvcStatuses.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/PvcStatuses.java new file mode 100644 index 0000000..b025512 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/PvcStatuses.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus; + +@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.ros2workloadstatus.pvcstatuses.Resource resource; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.pvcstatuses.Resource getResource() { + return resource; + } + + public void setResource(io.roboscale.robot.v1alpha2.ros2workloadstatus.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.ros2workloadstatus.pvcstatuses.Status status; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.pvcstatuses.Status getStatus() { + return status; + } + + public void setStatus(io.roboscale.robot.v1alpha2.ros2workloadstatus.pvcstatuses.Status status) { + this.status = status; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/Ros2BridgeStatus.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/Ros2BridgeStatus.java new file mode 100644 index 0000000..084ed4a --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/Ros2BridgeStatus.java @@ -0,0 +1,57 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"connection","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 Ros2BridgeStatus implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Address of the robot service that can be reached from outside. + */ + @com.fasterxml.jackson.annotation.JsonProperty("connection") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Address of the robot service that can be reached from outside.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String connection; + + public String getConnection() { + return connection; + } + + public void setConnection(String connection) { + this.connection = connection; + } + + /** + * 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.ros2workloadstatus.ros2bridgestatus.Resource resource; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.Resource getResource() { + return resource; + } + + public void setResource(io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.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.ros2workloadstatus.ros2bridgestatus.Status status; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.Status getStatus() { + return status; + } + + public void setStatus(io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.Status status) { + this.status = status; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/StatefulSetStatuses.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/StatefulSetStatuses.java new file mode 100644 index 0000000..4cdb980 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/StatefulSetStatuses.java @@ -0,0 +1,57 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus; + +@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 StatefulSetStatuses 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.ros2workloadstatus.statefulsetstatuses.Resource resource; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.Resource getResource() { + return resource; + } + + public void setResource(io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.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.ros2workloadstatus.statefulsetstatuses.Status status; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.Status getStatus() { + return status; + } + + public void setStatus(io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.Status status) { + this.status = status; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/Resource.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/Resource.java new file mode 100644 index 0000000..3a57e43 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/Resource.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus; + +@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.ros2workloadstatus.discoveryserverstatus.resource.Reference reference; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.resource.Reference getReference() { + return reference; + } + + public void setReference(io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.resource.Reference reference) { + this.reference = reference; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/Status.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/Status.java new file mode 100644 index 0000000..2a0bcbc --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/Status.java @@ -0,0 +1,105 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"configMapStatus","connectionInfo","phase","podStatus","serviceExportStatus","serviceStatus"}) +@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 { + + /** + * Status of the DiscoveryServer config map. + */ + @com.fasterxml.jackson.annotation.JsonProperty("configMapStatus") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Status of the DiscoveryServer config map.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.ConfigMapStatus configMapStatus; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.ConfigMapStatus getConfigMapStatus() { + return configMapStatus; + } + + public void setConfigMapStatus(io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.ConfigMapStatus configMapStatus) { + this.configMapStatus = configMapStatus; + } + + /** + * Connection information. + */ + @com.fasterxml.jackson.annotation.JsonProperty("connectionInfo") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Connection information.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.ConnectionInfo connectionInfo; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.ConnectionInfo getConnectionInfo() { + return connectionInfo; + } + + public void setConnectionInfo(io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.ConnectionInfo connectionInfo) { + this.connectionInfo = connectionInfo; + } + + /** + * Phase of the DiscoveryServer. + */ + @com.fasterxml.jackson.annotation.JsonProperty("phase") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Phase of the DiscoveryServer.") + @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; + } + + /** + * Status of the DiscoveryServer pod. + */ + @com.fasterxml.jackson.annotation.JsonProperty("podStatus") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Status of the DiscoveryServer pod.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.PodStatus podStatus; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.PodStatus getPodStatus() { + return podStatus; + } + + public void setPodStatus(io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.PodStatus podStatus) { + this.podStatus = podStatus; + } + + /** + * Status of the DiscoveryServer ServiceExport. + */ + @com.fasterxml.jackson.annotation.JsonProperty("serviceExportStatus") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Status of the DiscoveryServer ServiceExport.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.ServiceExportStatus serviceExportStatus; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.ServiceExportStatus getServiceExportStatus() { + return serviceExportStatus; + } + + public void setServiceExportStatus(io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.ServiceExportStatus serviceExportStatus) { + this.serviceExportStatus = serviceExportStatus; + } + + /** + * Status of the DiscoveryServer service. + */ + @com.fasterxml.jackson.annotation.JsonProperty("serviceStatus") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Status of the DiscoveryServer service.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.ServiceStatus serviceStatus; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.ServiceStatus getServiceStatus() { + return serviceStatus; + } + + public void setServiceStatus(io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.ServiceStatus serviceStatus) { + this.serviceStatus = serviceStatus; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/resource/Reference.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/resource/Reference.java new file mode 100644 index 0000000..d259420 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/resource/Reference.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.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/ros2workloadstatus/discoveryserverstatus/status/ConfigMapStatus.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/ConfigMapStatus.java new file mode 100644 index 0000000..1ed3b41 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/ConfigMapStatus.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status; + +@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 ConfigMapStatus 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.ros2workloadstatus.discoveryserverstatus.status.configmapstatus.Reference reference; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.configmapstatus.Reference getReference() { + return reference; + } + + public void setReference(io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.configmapstatus.Reference reference) { + this.reference = reference; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/ConnectionInfo.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/ConnectionInfo.java new file mode 100644 index 0000000..5b87deb --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/ConnectionInfo.java @@ -0,0 +1,57 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"configMapName","ip","uri"}) +@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 ConnectionInfo implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Name of the config map that holds discovery server configuration. + */ + @com.fasterxml.jackson.annotation.JsonProperty("configMapName") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the config map that holds discovery server configuration.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String configMapName; + + public String getConfigMapName() { + return configMapName; + } + + public void setConfigMapName(String configMapName) { + this.configMapName = configMapName; + } + + /** + * IP of the discovery server. IP is being obtained from the DNS name, which is being built according to the discovery server configuration. + */ + @com.fasterxml.jackson.annotation.JsonProperty("ip") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("IP of the discovery server. IP is being obtained from the DNS name, which is being built according to the discovery server configuration.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String ip; + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + /** + * URI of the discovery server. Discovery server instance tries to ping this address to see if it's reachable. + */ + @com.fasterxml.jackson.annotation.JsonProperty("uri") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("URI of the discovery server. Discovery server instance tries to ping this address to see if it's reachable.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String uri; + + public String getUri() { + return uri; + } + + public void setUri(String uri) { + this.uri = uri; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/PodStatus.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/PodStatus.java new file mode 100644 index 0000000..c39d36b --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/PodStatus.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"ip","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 PodStatus implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * IP of the pod. + */ + @com.fasterxml.jackson.annotation.JsonProperty("ip") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("IP of the pod.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String ip; + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + /** + * 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.ros2workloadstatus.discoveryserverstatus.status.podstatus.Resource resource; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.podstatus.Resource getResource() { + return resource; + } + + public void setResource(io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.podstatus.Resource resource) { + this.resource = resource; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/ServiceExportStatus.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/ServiceExportStatus.java new file mode 100644 index 0000000..b0a7dc0 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/ServiceExportStatus.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status; + +@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 ServiceExportStatus 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.ros2workloadstatus.discoveryserverstatus.status.serviceexportstatus.Reference reference; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.serviceexportstatus.Reference getReference() { + return reference; + } + + public void setReference(io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.serviceexportstatus.Reference reference) { + this.reference = reference; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/ServiceStatus.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/ServiceStatus.java new file mode 100644 index 0000000..8b2d391 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/ServiceStatus.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status; + +@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 ServiceStatus 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.ros2workloadstatus.discoveryserverstatus.status.servicestatus.Reference reference; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.servicestatus.Reference getReference() { + return reference; + } + + public void setReference(io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.servicestatus.Reference reference) { + this.reference = reference; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/configmapstatus/Reference.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/configmapstatus/Reference.java new file mode 100644 index 0000000..aa2d1cd --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/configmapstatus/Reference.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.configmapstatus; + +@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/ros2workloadstatus/discoveryserverstatus/status/podstatus/Resource.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/podstatus/Resource.java new file mode 100644 index 0000000..83cd561 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/podstatus/Resource.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.podstatus; + +@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.ros2workloadstatus.discoveryserverstatus.status.podstatus.resource.Reference reference; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.podstatus.resource.Reference getReference() { + return reference; + } + + public void setReference(io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.podstatus.resource.Reference reference) { + this.reference = reference; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/podstatus/resource/Reference.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/podstatus/resource/Reference.java new file mode 100644 index 0000000..6500e80 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/podstatus/resource/Reference.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.podstatus.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/ros2workloadstatus/discoveryserverstatus/status/serviceexportstatus/Reference.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/serviceexportstatus/Reference.java new file mode 100644 index 0000000..d17f6a1 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/serviceexportstatus/Reference.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.serviceexportstatus; + +@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/ros2workloadstatus/discoveryserverstatus/status/servicestatus/Reference.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/servicestatus/Reference.java new file mode 100644 index 0000000..0480694 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/discoveryserverstatus/status/servicestatus/Reference.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.discoveryserverstatus.status.servicestatus; + +@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/ros2workloadstatus/pvcstatuses/Resource.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/pvcstatuses/Resource.java new file mode 100644 index 0000000..7ee7f68 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/pvcstatuses/Resource.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.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.ros2workloadstatus.pvcstatuses.resource.Reference reference; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.pvcstatuses.resource.Reference getReference() { + return reference; + } + + public void setReference(io.roboscale.robot.v1alpha2.ros2workloadstatus.pvcstatuses.resource.Reference reference) { + this.reference = reference; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/pvcstatuses/Status.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/pvcstatuses/Status.java new file mode 100644 index 0000000..7eba27a --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/pvcstatuses/Status.java @@ -0,0 +1,105 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.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/ros2workloadstatus/pvcstatuses/resource/Reference.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/pvcstatuses/resource/Reference.java new file mode 100644 index 0000000..f316039 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/pvcstatuses/resource/Reference.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.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/ros2workloadstatus/pvcstatuses/status/Conditions.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/pvcstatuses/status/Conditions.java new file mode 100644 index 0000000..4aad6ce --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/pvcstatuses/status/Conditions.java @@ -0,0 +1,103 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.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/ros2workloadstatus/ros2bridgestatus/Resource.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/Resource.java new file mode 100644 index 0000000..fbdbdce --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/Resource.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus; + +@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.ros2workloadstatus.ros2bridgestatus.resource.Reference reference; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.resource.Reference getReference() { + return reference; + } + + public void setReference(io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.resource.Reference reference) { + this.reference = reference; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/Status.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/Status.java new file mode 100644 index 0000000..e3dd852 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/Status.java @@ -0,0 +1,89 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"connectionInfo","ingressStatus","phase","podStatus","serviceStatus"}) +@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 { + + /** + * Connection info obtained from DiscoveryServer. + */ + @com.fasterxml.jackson.annotation.JsonProperty("connectionInfo") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Connection info obtained from DiscoveryServer.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.ConnectionInfo connectionInfo; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.ConnectionInfo getConnectionInfo() { + return connectionInfo; + } + + public void setConnectionInfo(io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.ConnectionInfo connectionInfo) { + this.connectionInfo = connectionInfo; + } + + /** + * Status of ROS2Bridge Ingress. + */ + @com.fasterxml.jackson.annotation.JsonProperty("ingressStatus") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Status of ROS2Bridge Ingress.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.IngressStatus ingressStatus; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.IngressStatus getIngressStatus() { + return ingressStatus; + } + + public void setIngressStatus(io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.IngressStatus ingressStatus) { + this.ingressStatus = ingressStatus; + } + + /** + * Phase of ROS2Bridge. + */ + @com.fasterxml.jackson.annotation.JsonProperty("phase") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Phase of ROS2Bridge.") + @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; + } + + /** + * Status of ROS2Bridge pod. + */ + @com.fasterxml.jackson.annotation.JsonProperty("podStatus") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Status of ROS2Bridge pod.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.PodStatus podStatus; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.PodStatus getPodStatus() { + return podStatus; + } + + public void setPodStatus(io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.PodStatus podStatus) { + this.podStatus = podStatus; + } + + /** + * Status of ROS2Bridge service. + */ + @com.fasterxml.jackson.annotation.JsonProperty("serviceStatus") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Status of ROS2Bridge service.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.ServiceStatus serviceStatus; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.ServiceStatus getServiceStatus() { + return serviceStatus; + } + + public void setServiceStatus(io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.ServiceStatus serviceStatus) { + this.serviceStatus = serviceStatus; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/resource/Reference.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/resource/Reference.java new file mode 100644 index 0000000..f1ef3fc --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/resource/Reference.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.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/ros2workloadstatus/ros2bridgestatus/status/ConnectionInfo.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/status/ConnectionInfo.java new file mode 100644 index 0000000..4d0578c --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/status/ConnectionInfo.java @@ -0,0 +1,57 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"configMapName","ip","uri"}) +@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 ConnectionInfo implements io.fabric8.kubernetes.api.model.KubernetesResource { + + /** + * Name of the config map that holds discovery server configuration. + */ + @com.fasterxml.jackson.annotation.JsonProperty("configMapName") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Name of the config map that holds discovery server configuration.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String configMapName; + + public String getConfigMapName() { + return configMapName; + } + + public void setConfigMapName(String configMapName) { + this.configMapName = configMapName; + } + + /** + * IP of the discovery server. IP is being obtained from the DNS name, which is being built according to the discovery server configuration. + */ + @com.fasterxml.jackson.annotation.JsonProperty("ip") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("IP of the discovery server. IP is being obtained from the DNS name, which is being built according to the discovery server configuration.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String ip; + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + /** + * URI of the discovery server. Discovery server instance tries to ping this address to see if it's reachable. + */ + @com.fasterxml.jackson.annotation.JsonProperty("uri") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("URI of the discovery server. Discovery server instance tries to ping this address to see if it's reachable.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String uri; + + public String getUri() { + return uri; + } + + public void setUri(String uri) { + this.uri = uri; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/status/IngressStatus.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/status/IngressStatus.java new file mode 100644 index 0000000..b2df982 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/status/IngressStatus.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status; + +@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.ros2workloadstatus.ros2bridgestatus.status.ingressstatus.Reference reference; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.ingressstatus.Reference getReference() { + return reference; + } + + public void setReference(io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.ingressstatus.Reference reference) { + this.reference = reference; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/status/PodStatus.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/status/PodStatus.java new file mode 100644 index 0000000..8124531 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/status/PodStatus.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status; + +@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 PodStatus 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.ros2workloadstatus.ros2bridgestatus.status.podstatus.Reference reference; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.podstatus.Reference getReference() { + return reference; + } + + public void setReference(io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.podstatus.Reference reference) { + this.reference = reference; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/status/ServiceStatus.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/status/ServiceStatus.java new file mode 100644 index 0000000..f29464c --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/status/ServiceStatus.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status; + +@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.ros2workloadstatus.ros2bridgestatus.status.servicestatus.Resource resource; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.servicestatus.Resource getResource() { + return resource; + } + + public void setResource(io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.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/ros2workloadstatus/ros2bridgestatus/status/ingressstatus/Reference.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/status/ingressstatus/Reference.java new file mode 100644 index 0000000..5879bfa --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/status/ingressstatus/Reference.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.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/ros2workloadstatus/ros2bridgestatus/status/podstatus/Reference.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/status/podstatus/Reference.java new file mode 100644 index 0000000..07e186f --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/status/podstatus/Reference.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.podstatus; + +@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/ros2workloadstatus/ros2bridgestatus/status/servicestatus/Resource.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/status/servicestatus/Resource.java new file mode 100644 index 0000000..3e6918e --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/status/servicestatus/Resource.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.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.ros2workloadstatus.ros2bridgestatus.status.servicestatus.resource.Reference reference; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.servicestatus.resource.Reference getReference() { + return reference; + } + + public void setReference(io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.servicestatus.resource.Reference reference) { + this.reference = reference; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/status/servicestatus/resource/Reference.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/status/servicestatus/resource/Reference.java new file mode 100644 index 0000000..14c0c59 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/ros2bridgestatus/status/servicestatus/resource/Reference.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.ros2bridgestatus.status.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; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/ContainerStatuses.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/ContainerStatuses.java new file mode 100644 index 0000000..72208f7 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/ContainerStatuses.java @@ -0,0 +1,158 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses; + +@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.ros2workloadstatus.statefulsetstatuses.containerstatuses.LastState lastState; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.containerstatuses.LastState getLastState() { + return lastState; + } + + public void setLastState(io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.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.ros2workloadstatus.statefulsetstatuses.containerstatuses.State state; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.containerstatuses.State getState() { + return state; + } + + public void setState(io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.containerstatuses.State state) { + this.state = state; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/Resource.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/Resource.java new file mode 100644 index 0000000..8114b52 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/Resource.java @@ -0,0 +1,58 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses; + +@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.ros2workloadstatus.statefulsetstatuses.resource.Reference reference; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.resource.Reference getReference() { + return reference; + } + + public void setReference(io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.resource.Reference reference) { + this.reference = reference; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/Status.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/Status.java new file mode 100644 index 0000000..5669737 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/Status.java @@ -0,0 +1,170 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"availableReplicas","collisionCount","conditions","currentReplicas","currentRevision","observedGeneration","readyReplicas","replicas","updateRevision","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 statefulset. + */ + @com.fasterxml.jackson.annotation.JsonProperty("availableReplicas") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Total number of available pods (ready for at least minReadySeconds) targeted by this statefulset.") + @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; + } + + /** + * collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision. + */ + @com.fasterxml.jackson.annotation.JsonProperty("collisionCount") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision.") + @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 statefulset's current state. + */ + @com.fasterxml.jackson.annotation.JsonProperty("conditions") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Represents the latest available observations of a statefulset'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; + } + + /** + * currentReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version indicated by currentRevision. + */ + @com.fasterxml.jackson.annotation.JsonProperty("currentReplicas") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("currentReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version indicated by currentRevision.") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private Integer currentReplicas; + + public Integer getCurrentReplicas() { + return currentReplicas; + } + + public void setCurrentReplicas(Integer currentReplicas) { + this.currentReplicas = currentReplicas; + } + + /** + * currentRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [0,currentReplicas). + */ + @com.fasterxml.jackson.annotation.JsonProperty("currentRevision") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("currentRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [0,currentReplicas).") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String currentRevision; + + public String getCurrentRevision() { + return currentRevision; + } + + public void setCurrentRevision(String currentRevision) { + this.currentRevision = currentRevision; + } + + /** + * observedGeneration is the most recent generation observed for this StatefulSet. It corresponds to the StatefulSet's generation, which is updated on mutation by the API Server. + */ + @com.fasterxml.jackson.annotation.JsonProperty("observedGeneration") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("observedGeneration is the most recent generation observed for this StatefulSet. It corresponds to the StatefulSet's generation, which is updated on mutation by the API Server.") + @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 created for this StatefulSet with a Ready Condition. + */ + @com.fasterxml.jackson.annotation.JsonProperty("readyReplicas") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("readyReplicas is the number of pods created for this StatefulSet 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; + } + + /** + * replicas is the number of Pods created by the StatefulSet controller. + */ + @com.fasterxml.jackson.annotation.JsonProperty("replicas") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("replicas is the number of Pods created by the StatefulSet controller.") + @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; + } + + /** + * updateRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [replicas-updatedReplicas,replicas) + */ + @com.fasterxml.jackson.annotation.JsonProperty("updateRevision") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("updateRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [replicas-updatedReplicas,replicas)") + @com.fasterxml.jackson.annotation.JsonSetter(nulls = com.fasterxml.jackson.annotation.Nulls.SKIP) + private String updateRevision; + + public String getUpdateRevision() { + return updateRevision; + } + + public void setUpdateRevision(String updateRevision) { + this.updateRevision = updateRevision; + } + + /** + * updatedReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version indicated by updateRevision. + */ + @com.fasterxml.jackson.annotation.JsonProperty("updatedReplicas") + @com.fasterxml.jackson.annotation.JsonPropertyDescription("updatedReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version indicated by updateRevision.") + @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/ros2workloadstatus/statefulsetstatuses/containerstatuses/LastState.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/containerstatuses/LastState.java new file mode 100644 index 0000000..0983d60 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/containerstatuses/LastState.java @@ -0,0 +1,57 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.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.ros2workloadstatus.statefulsetstatuses.containerstatuses.laststate.Running running; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.containerstatuses.laststate.Running getRunning() { + return running; + } + + public void setRunning(io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.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.ros2workloadstatus.statefulsetstatuses.containerstatuses.laststate.Terminated terminated; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.containerstatuses.laststate.Terminated getTerminated() { + return terminated; + } + + public void setTerminated(io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.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.ros2workloadstatus.statefulsetstatuses.containerstatuses.laststate.Waiting waiting; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.containerstatuses.laststate.Waiting getWaiting() { + return waiting; + } + + public void setWaiting(io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.containerstatuses.laststate.Waiting waiting) { + this.waiting = waiting; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/containerstatuses/State.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/containerstatuses/State.java new file mode 100644 index 0000000..572cdf7 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/containerstatuses/State.java @@ -0,0 +1,57 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.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.ros2workloadstatus.statefulsetstatuses.containerstatuses.state.Running running; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.containerstatuses.state.Running getRunning() { + return running; + } + + public void setRunning(io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.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.ros2workloadstatus.statefulsetstatuses.containerstatuses.state.Terminated terminated; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.containerstatuses.state.Terminated getTerminated() { + return terminated; + } + + public void setTerminated(io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.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.ros2workloadstatus.statefulsetstatuses.containerstatuses.state.Waiting waiting; + + public io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.containerstatuses.state.Waiting getWaiting() { + return waiting; + } + + public void setWaiting(io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.containerstatuses.state.Waiting waiting) { + this.waiting = waiting; + } +} + diff --git a/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/containerstatuses/laststate/Running.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/containerstatuses/laststate/Running.java new file mode 100644 index 0000000..48ad6fc --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/containerstatuses/laststate/Running.java @@ -0,0 +1,25 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.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/ros2workloadstatus/statefulsetstatuses/containerstatuses/laststate/Terminated.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/containerstatuses/laststate/Terminated.java new file mode 100644 index 0000000..cc4e05e --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/containerstatuses/laststate/Terminated.java @@ -0,0 +1,122 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.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/ros2workloadstatus/statefulsetstatuses/containerstatuses/laststate/Waiting.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/containerstatuses/laststate/Waiting.java new file mode 100644 index 0000000..d4d4dac --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/containerstatuses/laststate/Waiting.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.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/ros2workloadstatus/statefulsetstatuses/containerstatuses/state/Running.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/containerstatuses/state/Running.java new file mode 100644 index 0000000..50ec864 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/containerstatuses/state/Running.java @@ -0,0 +1,25 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.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/ros2workloadstatus/statefulsetstatuses/containerstatuses/state/Terminated.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/containerstatuses/state/Terminated.java new file mode 100644 index 0000000..629b406 --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/containerstatuses/state/Terminated.java @@ -0,0 +1,122 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.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/ros2workloadstatus/statefulsetstatuses/containerstatuses/state/Waiting.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/containerstatuses/state/Waiting.java new file mode 100644 index 0000000..5f4764e --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/containerstatuses/state/Waiting.java @@ -0,0 +1,41 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.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/ros2workloadstatus/statefulsetstatuses/resource/Reference.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/resource/Reference.java new file mode 100644 index 0000000..851636e --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/resource/Reference.java @@ -0,0 +1,121 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.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/ros2workloadstatus/statefulsetstatuses/status/Conditions.java b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/status/Conditions.java new file mode 100644 index 0000000..38b852a --- /dev/null +++ b/src/main/java/io/roboscale/robot/v1alpha2/ros2workloadstatus/statefulsetstatuses/status/Conditions.java @@ -0,0 +1,91 @@ +package io.roboscale.robot.v1alpha2.ros2workloadstatus.statefulsetstatuses.status; + +@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) +@com.fasterxml.jackson.annotation.JsonPropertyOrder({"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 { + + /** + * 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; + } + + /** + * 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 statefulset condition. + */ + @com.fasterxml.jackson.annotation.JsonProperty("type") + @io.fabric8.generator.annotation.Required() + @com.fasterxml.jackson.annotation.JsonPropertyDescription("Type of statefulset 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; + } +} +