1/*
2Copyright The Kubernetes Authors.
3
4Licensed under the Apache License, Version 2.0 (the "License");
5you may not use this file except in compliance with the License.
6You may obtain a copy of the License at
7
8    http://www.apache.org/licenses/LICENSE-2.0
9
10Unless required by applicable law or agreed to in writing, software
11distributed under the License is distributed on an "AS IS" BASIS,
12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13See the License for the specific language governing permissions and
14limitations under the License.
15*/
16
17
18// This file was autogenerated by go-to-protobuf. Do not edit it manually!
19
20syntax = "proto2";
21
22package k8s.io.apimachinery.pkg.apis.testapigroup.v1;
23
24import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
25import "k8s.io/apimachinery/pkg/runtime/generated.proto";
26import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
27
28// Package-wide variables from generator "generated".
29option go_package = "v1";
30
31// Carp is a collection of containers, used as either input (create, update) or as output (list, get).
32message Carp {
33  // Standard object's metadata.
34  // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
35  // +optional
36  optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
37
38  // Specification of the desired behavior of the carp.
39  // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
40  // +optional
41  optional CarpSpec spec = 2;
42
43  // Most recently observed status of the carp.
44  // This data may not be up to date.
45  // Populated by the system.
46  // Read-only.
47  // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
48  // +optional
49  optional CarpStatus status = 3;
50}
51
52message CarpCondition {
53  // Type is the type of the condition.
54  // Currently only Ready.
55  // More info: http://kubernetes.io/docs/user-guide/carp-states#carp-conditions
56  optional string type = 1;
57
58  // Status is the status of the condition.
59  // Can be True, False, Unknown.
60  // More info: http://kubernetes.io/docs/user-guide/carp-states#carp-conditions
61  optional string status = 2;
62
63  // Last time we probed the condition.
64  // +optional
65  optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastProbeTime = 3;
66
67  // Last time the condition transitioned from one status to another.
68  // +optional
69  optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4;
70
71  // Unique, one-word, CamelCase reason for the condition's last transition.
72  // +optional
73  optional string reason = 5;
74
75  // Human-readable message indicating details about last transition.
76  // +optional
77  optional string message = 6;
78}
79
80// CarpList is a list of Carps.
81message CarpList {
82  // Standard list metadata.
83  // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
84  // +optional
85  optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
86
87  // List of carps.
88  // More info: http://kubernetes.io/docs/user-guide/carps
89  repeated Carp items = 2;
90}
91
92// CarpSpec is a description of a carp
93message CarpSpec {
94  // Restart policy for all containers within the carp.
95  // One of Always, OnFailure, Never.
96  // Default to Always.
97  // More info: http://kubernetes.io/docs/user-guide/carp-states#restartpolicy
98  // +optional
99  optional string restartPolicy = 3;
100
101  // Optional duration in seconds the carp needs to terminate gracefully. May be decreased in delete request.
102  // Value must be non-negative integer. The value zero indicates delete immediately.
103  // If this value is nil, the default grace period will be used instead.
104  // The grace period is the duration in seconds after the processes running in the carp are sent
105  // a termination signal and the time when the processes are forcibly halted with a kill signal.
106  // Set this value longer than the expected cleanup time for your process.
107  // Defaults to 30 seconds.
108  // +optional
109  optional int64 terminationGracePeriodSeconds = 4;
110
111  // Optional duration in seconds the carp may be active on the node relative to
112  // StartTime before the system will actively try to mark it failed and kill associated containers.
113  // Value must be a positive integer.
114  // +optional
115  optional int64 activeDeadlineSeconds = 5;
116
117  // NodeSelector is a selector which must be true for the carp to fit on a node.
118  // Selector which must match a node's labels for the carp to be scheduled on that node.
119  // More info: http://kubernetes.io/docs/user-guide/node-selection/README
120  // +optional
121  map<string, string> nodeSelector = 7;
122
123  // ServiceAccountName is the name of the ServiceAccount to use to run this carp.
124  // More info: https://git.k8s.io/community/contributors/design-proposals/auth/service_accounts.md
125  // +optional
126  optional string serviceAccountName = 8;
127
128  // DeprecatedServiceAccount is a depreciated alias for ServiceAccountName.
129  // Deprecated: Use serviceAccountName instead.
130  // +k8s:conversion-gen=false
131  // +optional
132  optional string serviceAccount = 9;
133
134  // NodeName is a request to schedule this carp onto a specific node. If it is non-empty,
135  // the scheduler simply schedules this carp onto that node, assuming that it fits resource
136  // requirements.
137  // +optional
138  optional string nodeName = 10;
139
140  // Host networking requested for this carp. Use the host's network namespace.
141  // If this option is set, the ports that will be used must be specified.
142  // Default to false.
143  // +k8s:conversion-gen=false
144  // +optional
145  optional bool hostNetwork = 11;
146
147  // Use the host's pid namespace.
148  // Optional: Default to false.
149  // +k8s:conversion-gen=false
150  // +optional
151  optional bool hostPID = 12;
152
153  // Use the host's ipc namespace.
154  // Optional: Default to false.
155  // +k8s:conversion-gen=false
156  // +optional
157  optional bool hostIPC = 13;
158
159  // Specifies the hostname of the Carp
160  // If not specified, the carp's hostname will be set to a system-defined value.
161  // +optional
162  optional string hostname = 16;
163
164  // If specified, the fully qualified Carp hostname will be "<hostname>.<subdomain>.<carp namespace>.svc.<cluster domain>".
165  // If not specified, the carp will not have a domainname at all.
166  // +optional
167  optional string subdomain = 17;
168
169  // If specified, the carp will be dispatched by specified scheduler.
170  // If not specified, the carp will be dispatched by default scheduler.
171  // +optional
172  optional string schedulername = 19;
173}
174
175// CarpStatus represents information about the status of a carp. Status may trail the actual
176// state of a system.
177message CarpStatus {
178  // Current condition of the carp.
179  // More info: http://kubernetes.io/docs/user-guide/carp-states#carp-phase
180  // +optional
181  optional string phase = 1;
182
183  // Current service state of carp.
184  // More info: http://kubernetes.io/docs/user-guide/carp-states#carp-conditions
185  // +optional
186  repeated CarpCondition conditions = 2;
187
188  // A human readable message indicating details about why the carp is in this condition.
189  // +optional
190  optional string message = 3;
191
192  // A brief CamelCase message indicating details about why the carp is in this state.
193  // e.g. 'DiskPressure'
194  // +optional
195  optional string reason = 4;
196
197  // IP address of the host to which the carp is assigned. Empty if not yet scheduled.
198  // +optional
199  optional string hostIP = 5;
200
201  // IP address allocated to the carp. Routable at least within the cluster.
202  // Empty if not yet allocated.
203  // +optional
204  optional string carpIP = 6;
205
206  // RFC 3339 date and time at which the object was acknowledged by the Kubelet.
207  // This is before the Kubelet pulled the container image(s) for the carp.
208  // +optional
209  optional k8s.io.apimachinery.pkg.apis.meta.v1.Time startTime = 7;
210}
211
212