...
1
2// This file was autogenerated by go-to-protobuf. Do not edit it manually!
3
4syntax = "proto2";
5
6package github.com.openshift.api.template.v1;
7
8import "k8s.io/api/core/v1/generated.proto";
9import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
10import "k8s.io/apimachinery/pkg/runtime/generated.proto";
11import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
12
13// Package-wide variables from generator "generated".
14option go_package = "github.com/openshift/api/template/v1";
15
16// BrokerTemplateInstance holds the service broker-related state associated with
17// a TemplateInstance. BrokerTemplateInstance is part of an experimental API.
18//
19// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
20// +openshift:compatibility-gen:level=1
21message BrokerTemplateInstance {
22 // metadata is the standard object's metadata.
23 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
24 optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
25
26 // spec describes the state of this BrokerTemplateInstance.
27 optional BrokerTemplateInstanceSpec spec = 2;
28}
29
30// BrokerTemplateInstanceList is a list of BrokerTemplateInstance objects.
31//
32// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
33// +openshift:compatibility-gen:level=1
34message BrokerTemplateInstanceList {
35 // metadata is the standard list's metadata.
36 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
37 optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
38
39 // items is a list of BrokerTemplateInstances
40 repeated BrokerTemplateInstance items = 2;
41}
42
43// BrokerTemplateInstanceSpec describes the state of a BrokerTemplateInstance.
44message BrokerTemplateInstanceSpec {
45 // templateinstance is a reference to a TemplateInstance object residing
46 // in a namespace.
47 optional k8s.io.api.core.v1.ObjectReference templateInstance = 1;
48
49 // secret is a reference to a Secret object residing in a namespace,
50 // containing the necessary template parameters.
51 optional k8s.io.api.core.v1.ObjectReference secret = 2;
52
53 // bindingids is a list of 'binding_id's provided during successive bind
54 // calls to the template service broker.
55 repeated string bindingIDs = 3;
56}
57
58// ExtraValue masks the value so protobuf can generate
59// +protobuf.nullable=true
60// +protobuf.options.(gogoproto.goproto_stringer)=false
61message ExtraValue {
62 // items, if empty, will result in an empty slice
63
64 repeated string items = 1;
65}
66
67// Parameter defines a name/value variable that is to be processed during
68// the Template to Config transformation.
69message Parameter {
70 // Name must be set and it can be referenced in Template
71 // Items using ${PARAMETER_NAME}. Required.
72 optional string name = 1;
73
74 // Optional: The name that will show in UI instead of parameter 'Name'
75 optional string displayName = 2;
76
77 // Description of a parameter. Optional.
78 optional string description = 3;
79
80 // Value holds the Parameter data. If specified, the generator will be
81 // ignored. The value replaces all occurrences of the Parameter ${Name}
82 // expression during the Template to Config transformation. Optional.
83 optional string value = 4;
84
85 // generate specifies the generator to be used to generate random string
86 // from an input value specified by From field. The result string is
87 // stored into Value field. If empty, no generator is being used, leaving
88 // the result Value untouched. Optional.
89 //
90 // The only supported generator is "expression", which accepts a "from"
91 // value in the form of a simple regular expression containing the
92 // range expression "[a-zA-Z0-9]", and the length expression "a{length}".
93 //
94 // Examples:
95 //
96 // from | value
97 // -----------------------------
98 // "test[0-9]{1}x" | "test7x"
99 // "[0-1]{8}" | "01001100"
100 // "0x[A-F0-9]{4}" | "0xB3AF"
101 // "[a-zA-Z0-9]{8}" | "hW4yQU5i"
102 optional string generate = 5;
103
104 // From is an input value for the generator. Optional.
105 optional string from = 6;
106
107 // Optional: Indicates the parameter must have a value. Defaults to false.
108 optional bool required = 7;
109}
110
111// Template contains the inputs needed to produce a Config.
112//
113// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
114// +openshift:compatibility-gen:level=1
115message Template {
116 // metadata is the standard object's metadata.
117 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
118 optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
119
120 // message is an optional instructional message that will
121 // be displayed when this template is instantiated.
122 // This field should inform the user how to utilize the newly created resources.
123 // Parameter substitution will be performed on the message before being
124 // displayed so that generated credentials and other parameters can be
125 // included in the output.
126 optional string message = 2;
127
128 // objects is an array of resources to include in this template.
129 // If a namespace value is hardcoded in the object, it will be removed
130 // during template instantiation, however if the namespace value
131 // is, or contains, a ${PARAMETER_REFERENCE}, the resolved
132 // value after parameter substitution will be respected and the object
133 // will be created in that namespace.
134 // +kubebuilder:pruning:PreserveUnknownFields
135 repeated k8s.io.apimachinery.pkg.runtime.RawExtension objects = 3;
136
137 // parameters is an optional array of Parameters used during the
138 // Template to Config transformation.
139 repeated Parameter parameters = 4;
140
141 // labels is a optional set of labels that are applied to every
142 // object during the Template to Config transformation.
143 map<string, string> labels = 5;
144}
145
146// TemplateInstance requests and records the instantiation of a Template.
147// TemplateInstance is part of an experimental API.
148//
149// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
150// +openshift:compatibility-gen:level=1
151message TemplateInstance {
152 // metadata is the standard object's metadata.
153 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
154 optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
155
156 // spec describes the desired state of this TemplateInstance.
157 optional TemplateInstanceSpec spec = 2;
158
159 // status describes the current state of this TemplateInstance.
160 // +optional
161 optional TemplateInstanceStatus status = 3;
162}
163
164// TemplateInstanceCondition contains condition information for a
165// TemplateInstance.
166message TemplateInstanceCondition {
167 // Type of the condition, currently Ready or InstantiateFailure.
168 optional string type = 1;
169
170 // Status of the condition, one of True, False or Unknown.
171 optional string status = 2;
172
173 // LastTransitionTime is the last time a condition status transitioned from
174 // one state to another.
175 optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;
176
177 // Reason is a brief machine readable explanation for the condition's last
178 // transition.
179 optional string reason = 4;
180
181 // Message is a human readable description of the details of the last
182 // transition, complementing reason.
183 optional string message = 5;
184}
185
186// TemplateInstanceList is a list of TemplateInstance objects.
187//
188// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
189// +openshift:compatibility-gen:level=1
190message TemplateInstanceList {
191 // metadata is the standard list's metadata.
192 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
193 optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
194
195 // items is a list of Templateinstances
196 repeated TemplateInstance items = 2;
197}
198
199// TemplateInstanceObject references an object created by a TemplateInstance.
200message TemplateInstanceObject {
201 // ref is a reference to the created object. When used under .spec, only
202 // name and namespace are used; these can contain references to parameters
203 // which will be substituted following the usual rules.
204 optional k8s.io.api.core.v1.ObjectReference ref = 1;
205}
206
207// TemplateInstanceRequester holds the identity of an agent requesting a
208// template instantiation.
209message TemplateInstanceRequester {
210 // username uniquely identifies this user among all active users.
211 optional string username = 1;
212
213 // uid is a unique value that identifies this user across time; if this user is
214 // deleted and another user by the same name is added, they will have
215 // different UIDs.
216 optional string uid = 2;
217
218 // groups represent the groups this user is a part of.
219 repeated string groups = 3;
220
221 // extra holds additional information provided by the authenticator.
222 map<string, ExtraValue> extra = 4;
223}
224
225// TemplateInstanceSpec describes the desired state of a TemplateInstance.
226message TemplateInstanceSpec {
227 // template is a full copy of the template for instantiation.
228 optional Template template = 1;
229
230 // secret is a reference to a Secret object containing the necessary
231 // template parameters.
232 optional k8s.io.api.core.v1.LocalObjectReference secret = 2;
233
234 // requester holds the identity of the agent requesting the template
235 // instantiation.
236 // +optional
237 optional TemplateInstanceRequester requester = 3;
238}
239
240// TemplateInstanceStatus describes the current state of a TemplateInstance.
241message TemplateInstanceStatus {
242 // conditions represent the latest available observations of a
243 // TemplateInstance's current state.
244 repeated TemplateInstanceCondition conditions = 1;
245
246 // Objects references the objects created by the TemplateInstance.
247 repeated TemplateInstanceObject objects = 2;
248}
249
250// TemplateList is a list of Template objects.
251//
252// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
253// +openshift:compatibility-gen:level=1
254message TemplateList {
255 // metadata is the standard list's metadata.
256 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
257 optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
258
259 // Items is a list of templates
260 repeated Template items = 2;
261}
262
View as plain text