forked from openshift/machine-api-operator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
0000_30_machine-api-operator_02_machine.crd.yaml
189 lines (189 loc) · 9.21 KB
/
0000_30_machine-api-operator_02_machine.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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: machines.machine.openshift.io
spec:
additionalPrinterColumns:
- JSONPath: .status.providerStatus.instanceId
description: Instance ID of machine created in AWS
name: Instance
type: string
- JSONPath: .status.providerStatus.instanceState
description: State of the AWS instance
name: State
type: string
- JSONPath: .spec.providerSpec.value.instanceType
description: Type of instance
name: Type
type: string
- JSONPath: .spec.providerSpec.value.placement.region
description: Region associated with machine
name: Region
type: string
- JSONPath: .spec.providerSpec.value.placement.availabilityZone
description: Zone associated with machine
name: Zone
type: string
- JSONPath: .metadata.creationTimestamp
description: Machine age
name: Age
type: date
group: machine.openshift.io
names:
kind: Machine
plural: machines
scope: Namespaced
subresources:
status: {}
validation:
openAPIV3Schema:
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
properties:
metadata:
description: ObjectMeta will autopopulate the Node created. Use this
to indicate what labels, annotations, name prefix, etc., should be
used when creating the Node.
type: object
providerID:
description: ProviderID is the identification ID of the machine provided
by the provider. This field must match the provider ID as seen on
the node object corresponding to this machine. This field is required
by higher level consumers of cluster-api. Example use case is cluster
autoscaler with cluster-api as provider. Clean-up logic in the autoscaler
compares machines to nodes to find out machines at provider which
could not get registered as Kubernetes nodes. With cluster-api as
a generic out-of-tree provider for autoscaler, this field is required
by autoscaler to be able to have a provider view of the list of machines.
Another list of nodes is queried from the k8s apiserver and then a
comparison is done to find out unregistered machines and are marked
for delete. This field will be set by the actuators and consumed by
higher level entities like autoscaler that will be interfacing with
cluster-api as generic provider.
type: string
providerSpec:
description: ProviderSpec details Provider-specific configuration to
use during node creation.
properties:
value:
description: Value is an inlined, serialized representation of the
resource configuration. It is recommended that providers maintain
their own versioned API types that should be serialized/deserialized
from this field, akin to component config.
type: object
type: object
taints:
description: The list of the taints to be applied to the corresponding
Node in additive manner. This list will not overwrite any other taints
added to the Node on an ongoing basis by other entities. These taints
should be actively reconciled e.g. if you ask the machine controller
to apply a taint and then manually remove the taint the machine controller
will put it back) but not have the machine controller remove any taints
items:
type: object
type: array
required:
- providerSpec
type: object
status:
properties:
addresses:
description: Addresses is a list of addresses assigned to the machine.
Queried from cloud provider, if available.
items:
type: object
type: array
errorMessage:
description: ErrorMessage will be set in the event that there is a terminal
problem reconciling the Machine and will contain a more verbose string
suitable for logging and human consumption. This field should not
be set for transitive errors that a controller faces that are expected
to be fixed automatically over time (like service outages), but instead
indicate that something is fundamentally wrong with the Machine's
spec or the configuration of the controller, and that manual intervention
is required. Examples of terminal errors would be invalid combinations
of settings in the spec, values that are unsupported by the controller,
or the responsible controller itself being critically misconfigured. Any
transient errors that occur during the reconciliation of Machines
can be added as events to the Machine object and/or logged in the
controller's output.
type: string
errorReason:
description: ErrorReason will be set in the event that there is a terminal
problem reconciling the Machine and will contain a succinct value
suitable for machine interpretation. This field should not be set
for transitive errors that a controller faces that are expected to
be fixed automatically over time (like service outages), but instead
indicate that something is fundamentally wrong with the Machine's
spec or the configuration of the controller, and that manual intervention
is required. Examples of terminal errors would be invalid combinations
of settings in the spec, values that are unsupported by the controller,
or the responsible controller itself being critically misconfigured. Any
transient errors that occur during the reconciliation of Machines
can be added as events to the Machine object and/or logged in the
controller's output.
type: string
lastOperation:
description: LastOperation describes the last-operation performed by
the machine-controller. This API should be useful as a history in
terms of the latest operation performed on the specific machine. It
should also convey the state of the latest-operation for example if
it is still on-going, failed or completed successfully.
properties:
description:
description: Description is the human-readable description of the
last operation.
type: string
lastUpdated:
description: LastUpdated is the timestamp at which LastOperation
API was last-updated.
format: date-time
type: string
state:
description: State is the current status of the last performed operation.
E.g. Processing, Failed, Successful etc
type: string
type:
description: Type is the type of operation which was last performed.
E.g. Create, Delete, Update etc
type: string
type: object
lastUpdated:
description: LastUpdated identifies when this status was last observed.
format: date-time
type: string
nodeRef:
description: NodeRef will point to the corresponding Node if it exists.
type: object
phase:
description: Phase represents the current phase of machine actuation.
E.g. Pending, Running, Terminating, Failed etc.
type: string
providerStatus:
description: ProviderStatus details a Provider-specific status. It is
recommended that providers maintain their own versioned API types
that should be serialized/deserialized from this field.
type: object
type: object
version: v1beta1
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []