/
mission-crd.yaml
169 lines (167 loc) · 6.4 KB
/
mission-crd.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: missions.mission.cloudrobotics.com
spec:
group: mission.cloudrobotics.com
names:
kind: Mission
listKind: MissionList
plural: missions
singular: mission
scope: Namespaced
versions:
- name: v1alpha1
served: true
storage: true
additionalPrinterColumns:
- jsonPath: .metadata.creationTimestamp
description: |-
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
name: Age
type: date
subresources:
status: {}
schema:
openAPIV3Schema:
type: object
properties:
spec:
maxProperties: 2
properties:
actions:
items:
properties:
charge:
maxProperties: 3
properties:
chargerName:
type: string
targetBatteryPercent:
description: |-
If actually performing the charge action, charge until this level is
reached.
maximum: 100
minimum: 0
type: integer
thresholdBatteryPercent:
description: |-
Only perform the charge action if battery level is lower than this
threshold, otherwise do nothing.
maximum: 100
minimum: 0
type: integer
required:
- chargerName
- thresholdBatteryPercent
- targetBatteryPercent
type: object
moveToNamedPosition:
maxProperties: 1
properties:
targetName:
description: String id of target position as created on robot.
type: string
required:
- targetName
type: object
getTrolley:
maxProperties: 1
properties:
dockName:
description: |-
Name of dock to get trolley from as created on robot.
type: string
required:
- dockName
type: object
returnTrolley:
maxProperties: 1
properties:
dockName:
description: |-
Name of dock to return trolley to as created on robot.
type: string
required:
- dockName
type: object
oneOf:
- maxProperties: 1
properties:
charge:
required:
- charge
- maxProperties: 1
properties:
moveToNamedPosition:
required:
- moveToNamedPosition
- maxProperties: 1
properties:
getTrolley:
required:
- getTrolley
- maxProperties: 1
properties:
returnTrolley:
required:
- returnTrolley
type: object
type: array
timeOutSec:
minimum: 0
type: integer
required:
- actions
type: object
status:
properties:
activeAction:
maxProperties: 1
properties:
status:
description: |2-
- "": Used if no other specific status applies.
- DOCKING: Robot is currently docking.
- MOVING: Robot is moving.
- TIMEOUT: Mission duration exceeded MissionSpec.timeOutSec. Can only be set if
MissionStatus.status is FAILED.
type: string
enum:
- ""
- MOVING
- DOCKING
- TIMEOUT
title: Information about the currently executed action within a mission
type: object
message:
type: string
missionQueueIds:
description: Links the goal to the entry in the robots mission queue.
items:
type: string
type: array
status:
description: |-
The various states of the mission execution.
- CREATED: initial state
- ACCEPTED: mission has been validated on
- RUNNING: active state (processing)
- SUCCEEDED: terminal states
type: string
enum:
# initial state
- CREATED
# mission has been validated on
- ACCEPTED
# active state (processing)
- RUNNING
# terminal states
- SUCCEEDED
- CANCELED
- FAILED
timeOfActuation:
format: date-time
type: string
type: object