/
generated.proto
236 lines (187 loc) · 8.65 KB
/
generated.proto
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
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
// This file was autogenerated by go-to-protobuf. Do not edit it manually!
syntax = 'proto2';
package github.com.openshift.origin.pkg.template.apis.template.v1;
import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
import "k8s.io/apimachinery/pkg/runtime/generated.proto";
import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
import "k8s.io/apimachinery/pkg/util/intstr/generated.proto";
import "k8s.io/kubernetes/pkg/api/v1/generated.proto";
// Package-wide variables from generator "generated".
option go_package = "v1";
// BrokerTemplateInstance holds the service broker-related state associated with
// a TemplateInstance. BrokerTemplateInstance is part of an experimental API.
message BrokerTemplateInstance {
// Standard object metadata.
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// spec describes the state of this BrokerTemplateInstance.
optional BrokerTemplateInstanceSpec spec = 2;
}
// BrokerTemplateInstanceList is a list of BrokerTemplateInstance objects.
message BrokerTemplateInstanceList {
// Standard object metadata.
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
// items is a list of BrokerTemplateInstances
repeated BrokerTemplateInstance items = 2;
}
// BrokerTemplateInstanceSpec describes the state of a BrokerTemplateInstance.
message BrokerTemplateInstanceSpec {
// templateinstance is a reference to a TemplateInstance object residing
// in a namespace.
optional k8s.io.kubernetes.pkg.api.v1.ObjectReference templateInstance = 1;
// secret is a reference to a Secret object residing in a namespace,
// containing the necessary template parameters.
optional k8s.io.kubernetes.pkg.api.v1.ObjectReference secret = 2;
// bindingids is a list of 'binding_id's provided during successive bind
// calls to the template service broker.
repeated string bindingIDs = 3;
}
// ExtraValue masks the value so protobuf can generate
// +protobuf.nullable=true
// +protobuf.options.(gogoproto.goproto_stringer)=false
message ExtraValue {
// items, if empty, will result in an empty slice
repeated string items = 1;
}
// Parameter defines a name/value variable that is to be processed during
// the Template to Config transformation.
message Parameter {
// Name must be set and it can be referenced in Template
// Items using ${PARAMETER_NAME}. Required.
optional string name = 1;
// Optional: The name that will show in UI instead of parameter 'Name'
optional string displayName = 2;
// Description of a parameter. Optional.
optional string description = 3;
// Value holds the Parameter data. If specified, the generator will be
// ignored. The value replaces all occurrences of the Parameter ${Name}
// expression during the Template to Config transformation. Optional.
optional string value = 4;
// generate specifies the generator to be used to generate random string
// from an input value specified by From field. The result string is
// stored into Value field. If empty, no generator is being used, leaving
// the result Value untouched. Optional.
//
// The only supported generator is "expression", which accepts a "from"
// value in the form of a simple regular expression containing the
// range expression "[a-zA-Z0-9]", and the length expression "a{length}".
//
// Examples:
//
// from | value
// -----------------------------
// "test[0-9]{1}x" | "test7x"
// "[0-1]{8}" | "01001100"
// "0x[A-F0-9]{4}" | "0xB3AF"
// "[a-zA-Z0-9]{8}" | "hW4yQU5i"
optional string generate = 5;
// From is an input value for the generator. Optional.
optional string from = 6;
// Optional: Indicates the parameter must have a value. Defaults to false.
optional bool required = 7;
}
// Template contains the inputs needed to produce a Config.
message Template {
// Standard object's metadata.
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// message is an optional instructional message that will
// be displayed when this template is instantiated.
// This field should inform the user how to utilize the newly created resources.
// Parameter substitution will be performed on the message before being
// displayed so that generated credentials and other parameters can be
// included in the output.
optional string message = 2;
// objects is an array of resources to include in this template.
// If a namespace value is hardcoded in the object, it will be removed
// during template instantiation, however if the namespace value
// is, or contains, a ${PARAMETER_REFERENCE}, the resolved
// value after parameter substitution will be respected and the object
// will be created in that namespace.
repeated k8s.io.apimachinery.pkg.runtime.RawExtension objects = 3;
// parameters is an optional array of Parameters used during the
// Template to Config transformation.
repeated Parameter parameters = 4;
// labels is a optional set of labels that are applied to every
// object during the Template to Config transformation.
map<string, string> labels = 5;
}
// TemplateInstance requests and records the instantiation of a Template.
// TemplateInstance is part of an experimental API.
message TemplateInstance {
// Standard object metadata.
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// spec describes the desired state of this TemplateInstance.
optional TemplateInstanceSpec spec = 2;
// status describes the current state of this TemplateInstance.
optional TemplateInstanceStatus status = 3;
}
// TemplateInstanceCondition contains condition information for a
// TemplateInstance.
message TemplateInstanceCondition {
// Type of the condition, currently Ready or InstantiateFailure.
optional string type = 1;
// Status of the condition, one of True, False or Unknown.
optional string status = 2;
// LastTransitionTime is the last time a condition status transitioned from
// one state to another.
optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;
// Reason is a brief machine readable explanation for the condition's last
// transition.
optional string reason = 4;
// Message is a human readable description of the details of the last
// transition, complementing reason.
optional string message = 5;
}
// TemplateInstanceList is a list of TemplateInstance objects.
message TemplateInstanceList {
// Standard object metadata.
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
// items is a list of Templateinstances
repeated TemplateInstance items = 2;
}
// TemplateInstanceObject references an object created by a TemplateInstance.
message TemplateInstanceObject {
// ref is a reference to the created object. When used under .spec, only
// name and namespace are used; these can contain references to parameters
// which will be substituted following the usual rules.
optional k8s.io.kubernetes.pkg.api.v1.ObjectReference ref = 1;
}
// TemplateInstanceRequester holds the identity of an agent requesting a
// template instantiation.
message TemplateInstanceRequester {
// username uniquely identifies this user among all active users.
optional string username = 1;
// uid is a unique value that identifies this user across time; if this user is
// deleted and another user by the same name is added, they will have
// different UIDs.
optional string uid = 2;
// groups represent the groups this user is a part of.
repeated string groups = 3;
// extra holds additional information provided by the authenticator.
map<string, ExtraValue> extra = 4;
}
// TemplateInstanceSpec describes the desired state of a TemplateInstance.
message TemplateInstanceSpec {
// template is a full copy of the template for instantiation.
optional Template template = 1;
// secret is a reference to a Secret object containing the necessary
// template parameters.
optional k8s.io.kubernetes.pkg.api.v1.LocalObjectReference secret = 2;
// requester holds the identity of the agent requesting the template
// instantiation.
optional TemplateInstanceRequester requester = 3;
}
// TemplateInstanceStatus describes the current state of a TemplateInstance.
message TemplateInstanceStatus {
// conditions represent the latest available observations of a
// TemplateInstance's current state.
repeated TemplateInstanceCondition conditions = 1;
// Objects references the objects created by the TemplateInstance.
repeated TemplateInstanceObject objects = 2;
}
// TemplateList is a list of Template objects.
message TemplateList {
// Standard object's metadata.
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
// Items is a list of templates
repeated Template items = 2;
}